Ferguson attended Blackfriars Priory School in Prospect, South Australia before moving to Marryatville High School in Year 9, where he completed his schooling. Ferguson started his cricket with the Prospect District Cricket Club before moving to the West Torrens Cricket Club in the 2005/06 season. He has since become captain of West Torrens DCC and had the Ferguson-George Cricket Academy for promising young players in the West Torrens zone named after him and Southern Redbacks teammate and fellow Australian Cricket Representative Peter George. In 2003 he was awarded a scholarship to the Australian Cricket Academy.
Ferguson made his first-class debut on 16 October 2004 against Victoria at his home ground, Adelaide Oval.
He had a very strong debut season, top scoring for South Australia with 733 runs at 38.57.
Ferguson scored his maiden first-class century with an innings of 103 against New South Wales at the Sydney Cricket Ground on 4 December 2004.
His ton came in the second innings after a disastrous yet memorable first innings for South Australia in which they were dismantled for a record low total of 29, mainly due to a devastating spell of 7/4 from Australian representative Nathan Bracken.
Ferguson's second season also saw him produce solid results, as he scored 503 runs at an average of 36. After a weak 2006–07 season, Ferguson was dropped, however has recently regained his place in the South Australian line up.
On 16 November 2008, Ferguson recorded his first one-day domestic century playing the Western Warriors before being eventually run out on 102.
His Highest score of 213 came against Tasmania on the 28 nov 2015
He made his One Day International (ODI) debut against New Zealand in February 2009 at the Melbourne Cricket Ground, and was not out for 6 runs off 6 balls.
Ferguson then made 28 runs off 23 balls against New Zealand in his second ODI on Sunday 8 February 2009. In his third ODI on 10 February 2009 he made 13 not out off 11 balls. This was his first international match at his home ground of the Adelaide Oval.
In his fourth match he made a half century off 35 balls in a rain-shortened match,participating in a great partnership with Brad Haddin of over 90 runs.
On 4 September 2009, Ferguson made his current ODI top score of 71 not out (off 75 balls) against England at The Oval (Kennington Oval / The Brit Insurance Oval), London.
In November 2016 he was added to Australia's Test squad for their series against South Africa. He made his Test debut on 12 November 2016. His baggy green cap was presented by Greg Blewett.
He also played club cricket in the North West of England in the 2008 season for Netherfield CC.