Il est élu pour la première fois député de la 12e circonscription du Rhône en 1986 après que son colistier Michel Noir ait démissionné afin de devenir ministre. Il est réélu à son siège en 1988, 1993, 1997, 2002, 2007 et 2012.
Parallèlement à sa carrière nationale, il poursuit une carrière locale. Ainsi, il est élu en 1989 au Conseil municipal de la ville d'Oullins dont il devient le maire. Il sera réélu à cette fonction en 1995 mais la quittera pour redevenir simple membre du conseil dès 1997. Il sera réélu au conseil en 2001 et 2008.