Originaire de Marseille, celui-ci naît toutefois à Paris durant un voyage de ses parents. Ceux-ci ayant divorcé au début des années 1950, sa mère obtient sa garde mais le fait placer dès l'âge de quatre ans de pensions en foyers. Son père obtient finalement sa garde à Marseille où il est élevé.
Passionné de dessin et de peinture, il intègre l'école Boulle et devient décorateur d'intérieur, travaillant avec son père qui le destine à reprendre l'entreprise familiale. Parallèlement, il fait du théâtre pour corriger sa diction à la suite d'un accident qui lui a brisé la mâchoire à treize ans. Décorant un jour l'appartement de Robert Lamoureux, ce dernier l'invite à le voir jouer et lui fait découvrir la magie de la scène. Il entre alors à l'École de la rue Blanche puis au Conservatoire national supérieur d'art dramatique (Promo 1974) où il remporte quatre prix. Il intègre la compagnie de théâtre de Jacques Fabbri, auprès duquel il intervient dans l’émission TV Tutti Fabbri diffusée sur la 1re chaîne à partir du dimanche 13 janvier 1974.
Il apparaît pour la première fois au cinéma en 1976 dans Le Juge et l'Assassin de Bertrand Tavernier dans un petit rôle de gardien.
Au début des années 1980, il joue sur les planches du café-théâtre des Blancs-Manteaux et commence à être repéré par certains critiques pour l'excellence de son jeu, « remarquable d'expressivité ». Par la suite, il interprète de nombreux petits rôles avant que le public ne le remarque dans Génial, mes parents divorcent !, un succès de Patrick Braoudé en 1990, réalisateur qu'il retrouvera pour Neuf mois en 1994. Avec ce regain de popularité, il enchaîne les rôles chez Bertrand Tavernier, Étienne Chatiliez ou Gérard Oury.
La collaboration avec Laurent Baffie sera fructueuse au théâtre : Sexe, magouilles, culture générale, Toc toc et dans la pièce Jacques Daniel avec Claude Brasseur.
À la télévision, ses prestations dans À cran ou dans Suzie Berton sont remarquées. Il joue dans les séries Trois pères à la maison sur M6 et La vie est à nous. Puis il interprète Pierre Bérégovoy dans le téléfilm Un homme d'honneur en 2009.
Il a prêté sa voix pour de nombreux doublages, dont les voix françaises d'Harvey Keitel, Danny DeVito, Bob Hoskins, John Travolta, Matt Dillon.
En images...