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.
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, 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
Après une liaison avec la comédienne Claire Keim, il a épousé à Paris le 29 mai 2004 la comédienne Gwendoline Hamon, 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.