Abstract We present a finite volume method for the numerical approximation of advection–diffusion problems in convection-dominated regimes. The method works on unstructured grids formed by convex polygons of any shape and yields a piecewise linear approximation to the exact solution which is second-order accurate away from boundary and internal layers. Basically, we define a constant approximation of the solution gradient in every mesh cell which is expressed by using the cell averages of the solution within the adjacent cells. A careful design of the reconstruction algorithm for cell gradients and the introduction in the discrete formulation of a special non-linear term, which plays the role of the artificial diffusion, allows the method to achieve shock-capturing capability. We emphasize that no slope limiters are required by this approach. Optimal convergence rates, as theoretically expected, and non-oscillatory behavior close to layers are confirmed by numerical experiments.