Nato a Trani nel 1979, alla fine degli anni '90 si è trasferito a Roma per seguire i corsi di recitazione della Scuola Nazionale di Cinema.
Figlio di una pittrice, dopo essersi ritirato per l'ennesima volta dal liceo provocando le ire della sua famiglia, a soli 16 anni, su consiglio di un amico, si trasferisce a Roma per seguire i corsi di recitazione del Centro Sperimentale, dove studia con Mirella Bordoni, Mino Bellei, Marco Baliani e soprattutto Nicolai Karpov. Dopo tanto teatro, debutta artisticamente nella serie tv "Compagni di scuola" (2001), che raggruppa nel suo cast svariati attori che poi diventeranno i simboli di una rinascita dello star system nazionale: Brando De Sica, Cristiana Capotondi e Laura Chiatti. Successivamente è diretto da Damiano Damiani nel film tv "Ama il tuo nemico 2", mentre l'esordio sul grande schermo avviene nel 2003, quando Marco Tullio Giordana lo sceglie per "La meglio gioventù".
Dopo aver interpretato "Ora o mai più" (2003) di Lucio Pellegrini, viene scelto da Luca Lucini per il ruolo che lo consacrerà ad attore di culto degli adolescenti: il diciannovenne teppista Step del blockbuster romantico "Tre metri sopra il cielo" (2004), accanto a Katy Louise Saunders. In questo ruolo non solo riscuote uno straordinario successo di pubblico, ma si afferma come uno degli attori più promettenti della sua generazione, premiato con il Globo d'Oro come miglior attore esordiente.
Presente nel cast de "L'odore del sangue" (2004) di Mario Martone, è poi uno dei tre protagonisti (insieme a Gabriella Pession e Francesca Inaudi) della commedia romantica "L'uomo perfetto" (2005). Infine, sul set di "Texas" (2005) di Fausto Paravidino trova l'amore nell'attrice Valeria Golino e una nomination ai Nastri d'Argento come miglior attore non protagonista. Viene scelto da Michele Placido per interpretare il pericoloso criminale soprannominato "il Nero" nel suo "Romanzo criminale" (2005), rituffandosi nel piccolo schermo accanto a Martina Stella nello sceneggiato "La freccia nera" (2006). Protagonista con Monica Bellucci in uno degli episodi di "Manuale d'amore 2 - Capitoli successivi" (2007) di Giovanni Veronesi, interpreterà poi "Mio fratello è figlio unico" di Daniele Luchetti (tratto dal romanzo "Il fasciocomunista" di Antonio Pennacchi), dove Riccardo sarà Manrico, un ragazzo vincente e interessato alla politica più per posa che per convinzione, opposto al fratello perdente interpretato da Elio Germano. Riprende i panni di Step nel sequel "Ho voglia di te", diretto da Luis Prieto.
Nel 2008 ritorna sul grande schermo con il thriller "Colpo d'occhio" , diretto da Sergio Rubini ; a questo film fanno seguito: "Italians", regia di Giovanni Veronesi , "Il grande sogno", regia di Michele Placido, "Verso l'eden", regia di Costa-Gavras e "La prima linea", regia di Renato De Maria , tutti nelle sale nel 2009 . Nel marzo 2010 esce il suo film "Mine vaganti" di Ferzan Ozpetek , dove recita con Alessandro Preziosi ed Ennio Fantastichini. Nel 2011 è protagonista del film "Manuale d'amore 3" di Giovanni Veronesi, nel 2012 partecipa, in una piccola parte, al nuovo film di Woody Allen:"To Rome with Love", e da protagonista ne "Il Rosso e il Blu" di Giuseppe Piccioni e in "Cosimo e Nicole" di, Francesco Amato. Nel 2013 è per la prima volta produttore, con Miele , film d'esordio alla regia di Valeria Golino. Il 2014 lo vede protagonista del film di Pupi Avanti "Un ragazzo d'oro" e in "Pasolini" di Abel Ferrara, mentre alla fine del 2014 è nel cast di “London Spy” serie tv targata BBC diretta da Jacob Verbrugge. A marzo del 2015 escono "Maraviglioso Boccaccio", per la regia di Paolo e Vittorio Taviani, "Nessuno si salva da solo" di Sergio Castellitto, "La prima luce" di Vincenzo Marra e “Il sapore del successo” di John Wells, produzione americana al fianco di Bradley Cooper.
Sempre nel 2015 ha girato in Azerbaijan il film inglese “Ali and Nino” di Asif Kapadia, “Pericle il nero” di Stefano Mordini ambientato in Belgio e tratto dall’omonimo libro di Giuseppe Ferrandino, e “Io che amo solo te” diretto da Marco Ponti.
Tra la fine del 2015 e l’inizio del 2016 si divide tra New York e Roma per girare “Spear” di Chad Stahelski con Keanu Reeves. Nello stesso anno gira “La verità sta in cielo” di Roberto Faenza e “Dalida” di Lisa Azuelos.