Attore di teatro, cinema e televisione, sul grande schermo debutta nel 2000 con il film Tutto l'amore che c'è del regista pugliese Sergio Rubini, che lo dirige anche nel film del 2002, L'anima gemella. Nel 2006 ritorna sul grande schermo con Fuori dalle corde, che gli vale il Pardo d'Argento come miglior attore protagonista al Festival di Locarno. L'anno successivo continua con il cinema d'autore in Aspettando il sole, regia di Ago Panini, Il seme della discordia, regia di Pappi Corsicato, e Italian Movies di Matt...visualizza tuttoteo Pellegrini. Inizia anche ad avere collaborazioni con diverse produzioni straniere. Recita in A Woman di Giada Colagrande con Willem Dafoe, Road 47 di Vicente Ferraz, Rocco tiene tu nombre di Angelo Orlando - con cui vince come miglior attore al Praga Film Festival - e Tulips del premio Oscar Mike van Diem. Diventa noto anche sul piccolo schermo per la partecipazione alla serie televisiva di Canale 5, R.I.S. 3 - Delitti imperfetti, dove dal 2007 al 2009 interpreta il ruolo del tenente Giovanni Rinaldi. Tra gli altri suoi lavori per la televisione ricordiamo le serie TV Diritto di difesa (2004), in onda su Rai 2, e Codice rosso, in onda nel 2006 su Canale 5. Nel 2014 interpreta il ruolo di Stefano Valenti nella nona stagione di Un medico in famiglia. Il cinema indi resta la sua passione e il suo impegno primario con oltre 20 film all’attivo.