O'Brien began his football career with Ballyfermot club Cherry Orchard. In the summer of 2006 he moved to England to take up a scholarship with Birmingham City. After only one year with the club, during which he was part of the youth team which reached the quarter-final of the FA Youth Cup, he signed a two-year professional contract. He played regularly for Birmingham's reserve team and was an unused substitute as they won the Birmingham Senior Cup in 2008. O'Brien joined Conference North side Solihull Moors on a month's loan in January 2009, but the loan was interrupted when the player sustained a pelvic injury a couple of weeks later. After his contract with Birmingham expired, O'Brien spent pre-season with League Two club Bradford City. He impressed during trials, scoring on his debut in a pre-season friendly against Burnley, and on 4 August 2009 signed a three-month contract. He made his professional debut for Bradford on 12 August as a second-half substitute in a 3–0 loss against Nottingham Forest in the League Cup. His debut in the Football League came three days later as a late substitute in the goalless draw at home to Port Vale. O'Brien scored his first goal for Bradford on 22 August, in a 5–4 victory away at Cheltenham Town. Due to having surgery O'Brien has been restricted to substitute appearances. O'Brien signed a new 18-month contract with Bradford City on 29 October, but was released on 26 July 2010, 10 months early. He subsequently returned to his native Dublin where he signed for his boyhood club St Patrick's Athletic. He signed for Longford Town in July 2011, and was released in July 2012. In July 2013 he was playing for Athlone Town. He signed for Bohemians ahead of the 2015 season, and in January 2016, he joined Waterford United, where he was reunited with manager Roddy Collins for whom he had played at Athlone Town. O'Brien signed for Shelbourne on 31 January 2017.
International career
While a Cherry Orchard player, O'Brien captained Ireland's under-16 side. According to his manager Vincent Butler, he was "excellent for us this season and in most of our matches was the best player on the pitch", and his performances with that team earned him the eircom/FAI Under-16 International Player of the Year award. He graduated to the under-17s, missing out on the elite qualifying round of the 2007 UEFA Under-17 championships through injury, under-18s, and, in the 2008–09 season, to the under-19s.