Fue militante del Partido Socialista de Chile.[1]
Es hijo del exdiputado Luis Espinoza Villalobos, quien fue ejecutado en 1973. Su madre se desempeñó como regidora por Puerto Montt, mientras que sus abuelos y tíos ejercieron cargos de alcalde y regidor.[2] Es hermano del senador Fidel Espinoza.[3]
En 1980 ingresó a la carrera de Historia y Geografía en la Universidad de Concepción, donde egresó en 1984. Fue vicepresidente del Centro de Alumnos de Historia, delegado ante la Federación de Estudiantes de la Universidad de Concepción (FEC) y candidato en la primera elección de la directiva de dicha organización estudiantil.[2]
Tras cursar estudios de Derecho como segunda carrera, entre 1990 y 1993 se desempeñó en la Cámara de Diputados como asesor de diversos parlamentarios. Posteriormente regresó a su región como candidato a diputado en las elecciones parlamentarias de 1993, pero no resultó electo por el distrito 57. Trabajó en el área de cultura de la Secretaría Regional Ministerial de Gobierno. Desde 1995 ejerció la docencia en el Instituto Tecnológico de la Universidad de Los Lagos, sede Puerto Montt, y se desempeñó en la Secretaría Comunal de Planificación (Secplac) municipal, donde estuvo a cargo del plan de empleo municipal.[2]
En marzo de 1999 fue designado como Seremi del Trabajo y Previsión Social en la Región de Los Lagos.[2] Se mantuvo en el cargo hasta 2004. Para las elecciones municipales de 2004 fue candidato a alcalde de la comuna de Frutillar y resultó electo. Fue reelecto en 2008 y 2012, pero en 2016 no logró la reelección.[1] Renunció al cargo de alcalde el 21 de noviembre de 2016.[4]
En las elecciones parlamentarias de 2017 fue candidato a diputado por el distrito 26, pero no resultó electo.[5]
En 2021 fue electo como concejal por la comuna de Frutillar. En 2024 renuncia al Partido Socialista y es candidato independiente para la alcaldía de Frutillar, pero no resultó electo.[5] Renunció a su cargo como concejal de Frutillar el 15 de noviembre de 2024.[6]
Fue candidato a diputado en las elecciones parlamentarias de 2025, como independiente en cupo del PPD, pero nuevamente no resultó electo.[7]