Biographie
Il passe son enfance dans le Gers. Ayant terminé ses études à 15 ans, il est d'abord apprenti dans l'hôtellerie, puis coiffeur avant de prendre des cours au théâtre Viriot.
À partir de 1990, il joue dans des spots publicitaires et apparaît dans des séries télévisées, et notamment dans le clip de François Feldman, C'est toi qui m'as fait en 1991.
De 1993 à 2000, il tient l'un des rôles principaux de la série Le juge est une femme, sur TF1, ce qui lui vaut une certaine notoriété.
Mais c'est au cinéma que cet acteur de 1,75 m rencontre réellement le succès. Après plusieurs petits rôles, notamment, en 1990 dans La Totale ! de Claude Zidi et un premier grand rôle dans Douce France de Malik Chibane, en 1995, il rencontre « la gloire » en 1998 grâce à Taxi de Gérard Pirès
On le voit principalement au cinéma et à la télévision. Il a également joué au théâtre dans les années 90 et 2000, notamment dans une adaptation française de la fameuse comédie d'Oscar Wilde, L'Importance d'être Constant, aux côtés de Macha Méril et Lorànt Deutsch. À la télévision son rôle le plus marquant fut le rôle de JP dans Clara Sheller
Il a eu une liaison avec la comédienne Claire Keim.
Le 29 mai 2004, il a épousé à Paris la comédienne Gwendoline Hamon avec qui il est en couple depuis 2003 et avec laquelle il a joué au théâtre dans Bagatelle(s) ainsi que dans un des épisodes de la série David Nolande. Ils ont un fils prénommé Gabriel, né en septembre 2004.
Cinéma
1990 : La Totale ! de Claude Zidi : le loubard 2
1992 : Les gens normaux n'ont rien d'exceptionnel de Laurence Ferreira Barbosa : Jean
1995 : Douce France de Malik Chibane : Jean-Luc
1995 : Une histoire d'amour à la con d'Henri-Paul Korchia
1996 : Capitaine Conan de Bertrand Tavernier : un sergent à la gare de Bucarest
1998 : Taxi de Gérard Pirès : Émilien Coutant-Kerbalec
1999 : Je veux tout de Guila Braoudé : Philippe
1999 : Taxi 2 de Gérard Krawczyk : Émilien Coutant-Kerbalec
1999 : Six-Pack d'Alain Berbérian : Philippe Saule
2000 : Jeu de cons de Jean-Michel Verner : Skip
2000 : Belphégor, le fantôme du Louvre de Jean-Paul Salomé : Martin
2000 : Les Âmes fortes de Raoul Ruiz : Firmin
2001 : Le Mal de mère d'Édouard Molinaro : Moïse
2001 : Une affaire privée de Guillaume Nicloux : la femme de bar de nuit
2002 : Taxi 3 de Gérard Krawczyk : Émilien Coutant-Kerbalec
2002 : Dédales de René Manzor : Inspecteur Mathias
2003 : L'Incruste de Corentin Julius : Alexandre
2003 : Nos amis les flics de Bob Swaim : Frédo
2003 : Le Souffleur de Guillaume Pixie : Philippe
2004 : Avant qu'il ne soit trop tard de Laurent Dussaux : Phyl
2005 : Le Roman de Renart de Thierry Schiel : Renart (voix)
2005 : Voisins, voisines de Malik Chibane : Paco Garcia
2007 : Taxi 4 de Gérard Krawczyk : Émilien Coutant-Kerbalec
2011 : Pauvre Richard de Malik Chibane : Richard
Télévision
Téléfilms unitaires
1990 : Les Ritals de Marcel Bluwal
1991 : Billy de Marcel Bluwal
1992 : Maria des Eaux-Vives de Robert Mazoyer
1994 : L'Affabulatrice de Marcel Bluwal
1997 : Père courage de Thierry Chabert
2003 : Un homme par hasard d'Édouard Molinaro : Yann Le Guenn
2004 : Bien agités de Patrick Chesnais : Arthur
2005 : Comme sur des roulettes de Jean-Paul Lilienfeld : Max
2005 : Ange de feu de Philippe Setbon : Noël Courtal
2006 : Pas de Panique de Denis Rabaglia : Ludovic Chambercy
2008 : Le Gendre idéal de Arnaud Selignac : Arnaud
2009 : Facteur chance de Julien Seri : Tib
2009 : Le Gendre idéal 2 de Arnaud Selignac : Arnaud
2010 : L'homme sans nom de Sylvain Monot
2010 : Chateaubriand de Pierre Aknine
2011 : Furieuse de Malik Chibane
2011 : Sélection naturelle de Régis Musset
Séries
1992 : Goal : Luis
1993-2000 : Le juge est une femme : Colas
1995 : Police des polices, épisode Vidéo preuves de Michel Boisrond
1995 : Commis d'office, épisode Les enfants d'abord de Gabriel Aghion : Frankie
2005 : Élodie Bradford, épisode Les crimes étaient presque parfaits de Régis Musset : Julien Lemaitre
2005 : Clara Sheller de Nicolas Mercier : JP
2006 : David Nolande de Nicolas Cuche : David Nolande
2008 : Flics de Nicolas Cuche : Yach
2008 : Mister Mocky présente... d'après les nouvelles d'Alfred Hitchcock, épisodes Le Jour de l'exécution et La cadillac de Jean-Pierre Mocky
2009 : Cartouche, le brigand magnifique de Henri Helman : Cartouche
2010 - 2011 : Les Virtuoses de Claude-Michel Rome : Horace Lange
2011 : Flics (saison 2) de Thierry Petit : Yach
Théâtre
1996 : Bagatelle(s) de Noël Coward, mise en scène de Pierre Mondy, au Théâtre de Paris
1996 : Roméo et Juliette de William Shakespeare, mise en scène de Jean-Luc Borg et Henri-Paul Korchia, au Théâtre Par le bas de Nanterre
2006- 2008 : L'Importance d'être constant d'Oscar Wilde, mise en scène de Pierre Laville, Théâtre Antoine
2010 : Kramer contre Kramer d'Avery Corman, mise en scène de Didier Caron et Stéphane Boutet, au Théâtre des Bouffes-Parisiens