David Patrick O'Hara was born in Glasgow, Scotland, to Martha (née Scott) and Patrick O'Hara, a construction worker, and raised in the Pollok section of Glasgow in a large Catholic family of Irish descent, with his paternal great-grandfather being Irish.
After leaving school, he was accepted into a Youth Opportunities Programme at a community theatre based at the Glasgow Arts Centre, touring local schools under the direction of Robin Peoples. At 17, he moved to London to study at the Central School of Speech and Drama, but left after two terms due to a shortage of funds. He returned to Scotland, landed a role in Bill Forsyth's Comfort and Joy (1984),and then returned to Central to finish his last term. He was also understudy to Ralph Fiennes in "A Midsummer Night's Dream".
He performed in "Romeo and Juliet" as Tybalt, directed by Declan Donnellan for the New Shakespeare Company, at the Open Air Theatre in London's Regent Park, followed by a European tour. Other stage credits include "The Comedy of Errors" at the Pleasance Theatre, Edinburgh, Scotland, and "Aff the Other Man" at the Haymarket. He spent a year at the Royal Shakespeare Company at Stratford and the Barbican, in "Fashion", and in Jonathan Miller's productions of "Taming of the Shrew", "Romeo and Juliet", "Cymbeline", and "Bite of the Night" (directed by Danny Boyle).
His big break came as Stephen, the rampaging Irishman who joins forces with William Wallace (Mel Gibson) in Braveheart (1995). The following year, 1996, saw him co-starring opposite Helen Mirren as a slightly independent policeman in Granada Television's Prime Suspect 5: Errors of Judgement (1996),which aired on PBS' "Masterpiece Theatre" in 1997. That same year, he appeared in Alan J. Pakula's The Devil's Own (1997),was the romantic foil to Janeane Garofalo in The MatchMaker (1997),portrayed a biker in the Scottish film The Slab Boys (1997),and portrayed Bill Sykes in Oliver Twist (1997).