He began performing and writing his own songs with local bands at the age of fifteen.
After his breakthrough role in Across the Universe, he played Gavin Kossef in Crossing Over.
He began dating singer Mickey O'Brien in 2003, but they later broke up. In 2014 he dated Bae Doona before splitting up in 2015.
Evan Rachel Wood starred with him in the 2007 musical film, Across the Universe.