In 1998, Shaun achieved an average batting score of (210) in the Public Schools Association's Darlot Cup cricket competition, which stood as the record highest for 10 years.
In the 1999–2000 tournament, held in Sri Lanka, he was the second highest run scorer for Australia behind Shane Watson, and other notable teammates included played alongside Michael Clarke, Nathan Hauritz and Mitchell Johnson.
In October 2002, Marsh was named to play for Western Australia against the touring English XI in a two-day practice match (not classified as first-class) prior to the 2002–03 Ashes.
Marsh top scored in the match as he made 92 runs against an English bowling attack consisting of Matthew Hoggard, Stephen Harmison, Andy Caddick and Ashley Giles.
[18] In the 2007–08 Ford Ranger Cup 50-over competition, Marsh made his debut century and was the Warriors' top run scorer.
[20] Partway through the 2007–08 season, with the retirement of Justin Langer and the move of Chris Rogers to the Victorian Bushrangers, Marsh switched batting positions to become an opening batsman like his father Geoff.
In October 2012, compounding a lean run of form, Marsh was dropped from the Perth Scorchers, and subsequently the Western Australian team, following an off-field indiscretion during the Champions League Twenty20 tournament in South Africa.
[23] A frank discussion with former teammate and new Western Australian coach Justin Langer helped Marsh regain his confidence and eventually his place in the state team: He laid down the laws for me.
[23]Marsh has excelled in the Twenty20 format of cricket, and during the 2012–13 Big Bash League, he scored five half-centuries in nine innings, ending the tournament as the leading run scorer, and helping the Scorchers reach the final.
[25] Good form with the Western Warriors was rewarded with a contract in the 2008 Indian Premier League, where he opened the batting for the Kings XI Punjab.
Marsh played for Kings XI Punjab since the start of the Indian Premier League and became one of the most vital players for the team.
[37][38] In July 2011, Marsh was selected for the Australian Test Squad for the tour to Sri Lanka and was presented with the baggy green by his father.
[42] He played all four Tests in Australia's 2011–12 home series against India, but performed poorly, scoring only 17 runs at an average of 2.67, including three ducks.
He was recalled to the line-up in December 2014 for the home series against India after captain Michael Clarke tore his hamstring,[45] and scored 254 runs at 42.33 in three Tests.
[48] After three years on the fringe, Marsh was recalled as a first choice opening batsman in the final Test of Australia's tour of Sri Lanka.
[49] He held his place for the first home Test of the 2016–17 Australian summer against South Africa, before being sidelined for the rest of the series with a broken finger.