O'Hara was born in Glasgow, Scotland, the son of Martha (née Scott) and Patrick O'Hara, a construction worker.
He has appeared in many movies and TV series, including a featured role in the U.S. series The District, which he left after one season to return to Britain and Ireland.
His memorable role as the 'mad' Irishman Stephen in Braveheart saw him become William Wallace's (Mel Gibson) trusted friend and guardian after proclaiming of Ireland, "It's my island".
In 2006, O'Hara appeared as Fitzy, one of Jack Nicholson's chief mobsters in the Oscar winning film The Departed.
In June 2009 O'Hara was filming The Tudors in Dublin. He played Albert Runcorn in Harry Potter and the Deathly Hallows (Part 1).