We propose a numerically stable and computationally efficient elasto-visco-plastic self-consistent (VPSC) crystal plasticity model, where the effect of elasticity on visco-plasticity is introduced as a perturbation to the visco-plastic regime. The perturbation enters as a fictitious visco-plastic eigen-strain rate and is derived from the elastic inclusion problem. As a consequence, the numerical efficiency of the VPSC model (Lebensohn and Tomé 1993 Acta Metall. Mater. 41 2611–2624) is retained, with the added capability of predicting both, elastic and visco-plastic strain components in the grains. The proposed model (VPSC+) is validated by comparing with the self-consistent crystal plasticity model of Lebensohn and Tomé (VPSC) (Lebensohn and Tomé 1993 Acta Metall. Mater. 41 2611–2624), the elastic-rigid-plastic model (EPSC) of Turner and Tomé (1994 Acta Metall. Mater. 42 4143–4153), and the elasto-visco-plastic model (EVPSC) developed by Wang et al (2010 J. Mech. Phys. Solids 58 594–612). The prediction of texture evolution, stress–strain response, strain rate sensitivity, and internal elastic strain evolution were consistent with those of the other models, in simulations of 316 L stainless steel and Mg AZ31 alloy. VPSC+ showed a superior numerical stability and computational speed when compared to EVPSC, and convergence was successfully achieved with relatively large increments. It is claimed that VPSC+ provides an elasto-VPSC constitutive law for polycrystalline metals applicable to simulation of large deformation, and which is numerically efficient for interfacing with finite element codes.