A product of the youth system, he made his début in the League Cup tie at home to Macclesfield Town on 24 August 2011, coming on as a second-half substitute for Martin Petrov.
His form in the reserves prompted Bolton to offer both O'Halloran and Joe Riley new three-and-a-half-year contracts, committing them to the club until the summer of 2015.
[2] In March 2012, O'Halloran joined Sheffield United on loan until the end of the season,[3] and made his début for the Blades on as an 81st-minute substitute against Chesterfield in a 4–1 victory at Bramall Lane.
[6] However, after playing just one game, a substitute appearance against MK Dons, O'Halloran opted to return to Bolton, his loan only lasting 12 days.
[10][11] After appearing in just two cup matches in three years at Bolton, O'Halloran made the move back to his native Scotland with St Johnstone in January 2014, signing an 18-month contract with the club.
[17] On 1 February 2016, after much speculation, O'Halloran signed a four-and-a-half-year deal with the then Scottish Championship club Rangers for a fee reported to be £500,000.
[22] After scoring four goals in his first five appearances back at the club, O'Halloran won the Scottish Premiership Player of the month award for August.
[27] Following his release from St Johnstone, O'Halloran signed for Championship side Dunfermline Athletic on a two-year deal.