Fue militante del partido Unión por el Perú, donde se desempeñó como secretario en la sede de Cajamarca y luego presidente de dicho partido desde el año 2010 hasta el 2014.
Su carrera política se inicia en las elecciones parlamentarias del año 2001 como candidato al Congreso de la República en representación de Cajamarca por UPP-SI, sin embargo, no resultó elegido. Intentó ser regidor de la Municipalidad de Lima en 2002 sin éxito.[2]
Finalmente, en las elecciones parlamentarias del 2006, Espinoza fue elegido como congresista de la república con 16,837 votos, para el período parlamentario 2006-2011.[3]
Durante su labor parlamentaria, fue presidente de la Comisión de Fiscalización (2008-2009).[4][5] En 2010, fue presentado como candidato a la tercera vicepresidencia de la Mesa Directiva en la lista oficialista presidida por César Zumaeta y luego fue elegido para el periodo 2010-2011.[6][7]
Culminando su gestión, Espinoza intentó su reelección al Congreso de la República por la Alianza Solidaridad Nacional en 2011, sin embargo, no resultó reelegido.[2]
En 2014, renunció por un tiempo de Unión por el Perú y fue invitado por Peruanos Por el Kambio donde nuevamente fue candidato al Congreso de la República en las elecciones del 2016. Luego se afilió al partido Alianza para el Progreso de César Acuña y postuló a la vicepresidencia del Gobierno Regional de Cajamarca en las elecciones regionales del 2018 donde quedó en el segundo lugar tras el triunfo de Mesías Guevara de Acción Popular.
Para las elecciones parlamentarias del 2020, Espinoza volvió a Unión por el Perú y nuevamente fue candidato al Congreso donde no resultó elegido.[2]