Career
O'Donnell started his career as a youth player at Aberdeen and later Celtic. Having been released by Celtic, O'Donnell joined Scottish First Division side Partick Thistle in 2011, helping the club to promotion to the Scottish Premiership in the 2012–13 season. O'Donnell played 121 league games for Partick Thistle before leaving in May 2015.
He has also been capped once for the Scotland under-21 side. Youth career
O'Donnell began his career as a youth player with Wishaw Wycombe Wanderers and captained the Aberdeen under-17 team. Partick Thistle
O'Donnell was released by Celtic in 2011 and on 23 August 2011 signed for Partick Thistle on a one-year deal after impressing on trial.
He was named in the PFA Scotland First Division Team of the Year following his performances. On 27 January 2015, Championship side Blackpool upped an initial offer of £50,000 for O'Donnell to £125,000. This offer was accepted by Partick Thistle, however, O'Donnell rejected the personal terms on offer at Blackpool in favour of seeing the remaining six months of his contract out at the Firhill side.
He left The Jags at the end of the 2014–15 season. Luton Town
On 22 June 2015, signed a two-year contract at English League Two club Luton Town.