Actor mexicano que ha interpretado papeles memorables en películas como Milk, The Terminal, Rogue One: A Star Wars Story y Frida. También interpretó a Tenoch Iturbide en la aclamada película de Alfonso Cuarón del 2001 Y Tu Mamá También. En el 2018 protagonizó la serie de Netflix Narcos: México como Miguel Ángel Félix Gallardo.
Uno de sus primeros papeles fue en 1992 en la telenovela El Abuelo Y Yo.
Cofundó Canana Films junto a su amigo de la infancia y colega Gael García Bernal. En el 2014 dirigió la película biográfica Cesar Chavez protagonizada por Michael Pena.
En el 2008 se casó con Camila Sodi y la pareja tuvo un hijo llamado Jerónimo en el 2008 y una hija, Fiona, en el 2010. Se divorciaron en el 2013. Salió con Suki Waterhouse del 2016 al 2017.
Interpretó al interés romántico de Katy Perry en el video musical de la canción "The One That Got Away."