We consider primal-dual mixed finite element methods for the advection--diffusion equation. For the primal variable we use standard continuous finite element space and for the flux we use the Raviart-Thomas space. We prove optimal a priori error estimates in the energy- and the $L^2$-norms for the primal variable in the low Peclet regime. In the high Peclet regime we also prove optimal error estimates for the primal variable in the $H(div)$ norm for smooth solutions. Numerically we observe that the method eliminates the spurious oscillations close to interior layers that pollute the solution of the standard Galerkin method when the local Peclet number is high. This method, however, does produce spurious solutions when outflow boundary layer presents. In the last section we propose two simple strategies to remove such numerical artefacts caused by the outflow boundary layer and validate them numerically.