The most severe limitation of the standard Lattice Boltzmann Method is the use of uniform Cartesian grids especially when there is a need for high resolutions near the body or the walls. Among the recent advances in lattice Boltzmann research to handle complex geometries, a particularly remarkable option is represented by changing the solution procedure from the original “stream and collide” to a finite volume technique. However, most of the presented schemes have stability problems. This paper presents a stable and accurate finite-volume lattice Boltzmann formulation based on a cell-centred scheme. To enhance stability, upwind second order pressure biasing factors are used as flux correctors on a D2Q9 lattice. The resulting model has been tested against a uniform flow past a cylinder and typical free shear flow problems at low and moderate Reynolds numbers: boundary layer, mixing layer and plane jet flows. The numerical results show a very good accuracy and agreement with the exact solution of the Navier-Stokes equation and previous numerical results and/or experimental data. Results in self-similar coordinates are also investigated and show that the time-averaged statistics for velocity and vorticity express self-similarity at low Reynolds numbers. Furthermore, the scheme is applied to simulate the flow around circular cylinder and the Reynolds number range is chosen in such a way that the flow is time dependent. The agreement of the numerical results with previous results is satisfactory.