Il commence le cyclisme à l'âge de sept ans, entrant au Vélo-club du Bocage (VCB). Après avoir remporté le Paris-Roubaix en amateur, il signe son premier contrat professionnel à l'âge de 22 ans chez « Z » aux côtés de Greg LeMond et Gilbert Duclos-Lassalle. En 2002, il termine septième de Paris-Roubaix, et premier Français dans cette épreuve. N'ayant pas toutes les qualités pour être leader, il tint un rôle d'équipier durant ses 12 ans de carrière. Il a participé à sept Tours de France.
En 2011, il est élu président du secteur professionnel du Rassemblement des Organisateurs des Courses Cyclistes (ROCC), il succède à ce poste à Jean-François Pescheux.
En 2014, il devient directeur de course du Tour de France à la place de Jean-François Pescheux, il est ainsi le n° 2 du Tour sur le plan sportif, derrière Christian Prudhomme, directeur du Tour. Il est notamment impliqué dans la conception des parcours de cette épreuve. Il occupe également la fonction de directeur de course sur d'autres courses organisées par ASO parmi lesquelles Paris-Roubaix[1].