In domestic cricket, he played for Western Australia, New South Wales, Nottinghamshire, Devon and Somerset.
He was brought back in 2007 after the retirement of Warne, as spinner for the first Test against the Sri Lankan cricket team. He announced his retirement from international cricket during the second Test of Australia's 2008 tour of the West Indies. Moving into commentary, MacGill co-hosted the 2009 Ashes series on SBS with Damien Martyn and Greg Matthews. MacGill was a radio co-host on the Triple M Sydney breakfast program "The Grill Team", 2009–2010.
MacGill was born in the Perth suburb of Mount Lawley and began his first-class career in the 1993/94 season playing for Western Australia. Both his father, Terry MacGill, and his grandfather, Charlie MacGill, had previously played cricket for Western Australia. He was an AIS Australian Cricket Academy scholarship holder in 1990–1991. He managed just one game, against New South Wales at the SCG but did not take a wicket and did not play again for over two years. When he returned in 1996/97 it was for New South Wales and he took 6 wickets in the match, the first being Darren Berry. He finished the season with 16 wickets at 37.00.
He spent the English summer playing club cricket for Heathcoat CC in Tiverton, Devon, and played a game for Somerset against the touring Pakistan A side.
1997/98 was the breakthrough season for MacGill, he made his Test debut and finished with 35 wickets at 28.14 in the Sheffield Shield.
In the 3rd Test against South Africa at Adelaide in January 1998, MacGill was selected as Australia's second spinner and helped them to draw the match with 3 for 22 in the second innings. He next appeared in October of that year for a tour of Pakistan, finishing the series as Australia's top wicket taker with 15 victims at 27.46.
MacGill kept his spot in the side when they returned home for an Ashes series, again finishing as Australia's most successful bowler with 27 wickets at 17.70. His tally included his then career best innings figures of 7 for 50, made in the 5th Test at Sydney. He took a total of 12 wickets in that match and had done enough to convince the selectors to use two spinners for their tour of the West Indies.
After taking just 12 wickets from the four Tests he was dropped from the side, only returning when Australia hosted the West Indies in 2000/01. In a series whitewash, all the Australian bowlers bar MacGill, who took 16 wickets at 31.31, managed to average under 20 with the ball.
He played his next Test in January 2002 against South Africa, taking 7 wickets. With Warne unavailable for the 4th and 5th Tests of the 2002/03 Ashes series, MacGill came in and despite taking 12 wickets he averaged over 40.
With Shane Warne serving a drugs ban, MacGill returned to the Caribbean in 2003 and for the next year acted as Australia's sole spinner. In the 11 Tests that he played, including the Caribbean tour, he took 53 wickets. He played series against Bangladesh, Zimbabwe and India.
Sri Lanka toured Australia in 2004 and despite Warne returning to the side MacGill kept his spot. He struggled throughout the Test series and took just 5 wickets at 46.40. He lost his spot in the side and over the next year and a half played just two Tests, both on the spin friendly SCG wicket. The first was against Pakistan and his 8 wickets earned him the Man of the Match award. The second was against the ICC World XI and he managed 9 wickets. He was called up as part of Australia's 2005 Ashes squad but was not used throughout the series.
MacGill partnered Warne when Australia hosted the West Indies for a Test series in 2005/06. He took 5 wickets at Hobart and just 2 in Adelaide. He played again in the Tests that followed, against South Africa, and won a place in Australia's squad for their inaugural tour of Bangladesh. At Fatullah he took 8 for 108 in the first innings, his career best figures. Warne retired from Test cricket at the end of the 2006-07 Ashes series, although MacGill faced competition for a place in the side from several younger players.
MacGill was unlucky to not be considered as a serious contender for the One Day International team, taking 6 wickets in three games at an economy of just 3.50. He has since retired from that form of the game.
MacGill announced that he would retire after the 2nd Test against the West Indies, due to recurring injuries to his knee and nerves in the arm leading to the fingers. Over his career, he has scored more 5-wicket innings than Shane Warne at Sydney Cricket Ground (SCG), which coincidentally is MacGill's middle name initials. Both Warne and MacGill's records were etched on the home (international) team dressing room's honours board in SCG.
MacGill returned to cricket in the 2011-12 season, signing to play for the Sydney Sixers in Australia's inaugural Big Bash League at the age of 40. After strong performances in the tournament, in which the Sixers qualified for the four-team playoff series, he was picked up by the Dhaka Gladiators for US$50,000 in the player auction for the inaugural Bangladesh Premier League, however he abandoned the league amidst a corruption dilemma.
MacGill's father, Terry MacGill, and grandfather, Charlie MacGill, both played first-class cricket for Western Australia.
MacGill married 1989 logie winning actress and journalist Rachel Friend, in 2000. The couple separated in late 2013.
As of 2012, Stuart has been a regular contributor to entertainment and lifestyle website Live4.
MacGill is noted for his fondness for wine, holding a degree in viticulture, and books, once reading 17 novels during a tour of Pakistan. Known for his individuality, he was the only Australian cricketer to declare himself unavailable to tour Zimbabwe in 2004 on moral grounds. He also refused to appear in an advertisement for Cricket Australia sponsor KFC, saying: "The problem for me is that KFC and Cricket Australia are hitting parents where they’re vulnerable. Parents are already under a lot of pressure from kids to buy this stuff and when you get the Australian cricket team endorsing it you just increase that pressure. It’s just wrong in so many ways."