Marsh and his younger brother Mitchell attended Wesley College in Perth where they excelled in cricket. In 1998 Shaun set the record, which was broken ten years later, for the highest average (210) in the Public Schools Association's Darlot Cup cricket competition.
After representing Western Australia at Under 17 and Under 19 level, Marsh represented Australia at both the 1999–2000 and 2001–02 ICC Under-19 World Cups. 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. At the 2001–02 tournament in New Zealand, which Australia won, he scored the fourth most runs for the tournament, with the captain of the Australian side, Cameron White being the leading run scorer.
During this time, Marsh made his first-class cricket debut in 2000–01, against South Australia at the WACA Ground in March 2001. He played as a middle order batsman, and played this final three games of the season, before continuing to represent both the Australian Under 19 side and the Australian Cricket Academy throughout 2001 in the lead-up to the World Cup in New Zealand in January to February 2002.
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 for the match with 92 runs against an English bowling attack consisting of Matthew Hoggard, Stephen Harmison, Andy Caddick and Ashley Giles. He was not selected for the three-day match held soon after, but was selected to make his List A debut for the Warriors in an ING Cup match against South Australian Redbacks in November 2002. Marsh would play in nine ING Cup games and three Pura Cup during the 2002–03 season and he made his maiden first-class hundred against a NSW side featuring Steve and Mark Waugh in 2003.
Over the next few years, he cemented his position in the Warriors middle order, averaging over 35 in first class cricket in 2004–05 and 2005–06. He was named in the Australia-A side for a mid-year tournament in Cairns in July 2006. After a relatively poor 2006–07 season, he returned to top form in 2007–08 in all forms of the game. In first-class cricket, he made his highest career score of 166 not out (as part of a 268 run 4th-wicket partnership with Luke Pomersbach and averaged over 60 runs per completed innings. In the 2007–08 Ford Ranger Cup 50-over competition, Marsh made his debut century and was the Warriors' top run scorer. In Twenty20 cricket, he was the competition's leading run scorer with the highest average and the highest individual score.
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. At the end of the season, he was named the Lawrie Sawle Medallist for being the best player in the Western Australian state cricket team for the 2007–08 season. He was highly sought after for the Big Bash League due to being regarded as one of the top domestic Twenty20 players in the world. He ultimately chose to stay in WA and play for the Perth Scorchers. After missing the first game due to a troublesome back, which played up in the recent Australian tour of South Africa, he played in the second match against the Melbourne Renegades and made 99* stating his case to join the Test team for the Boxing Day Test against India and missed the next few games.
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.
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. It was a good chat. I knew exactly where I stood with him, and I went away with a new belief, in terms of where I wanted to head. It gave me a lot of confidence to know that if I went back and scored runs in grade cricket and 2nd XI, I could get back into the team straight away.
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. He carried this form upon his return to the Western Australian state team. Against Queensland, he scored 155 not out in the one-day game, and backed it up with 84 in the second innings of a come-from-behind victory at the Gabba.
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. Despite missing the opening four games of the tournament, Marsh scored the most runs in the league stage of tournament, including a century in the final league stage match against the Rajasthan Royals. He received the orange cap for scoring most runs in the 2008 IPL tournament. Shaun Marsh was chosen in the inaugural IPL dream team chosen by the cricketing website Cricinfo along with cricket superstars Sanath Jayasuriya, Kumar Sangakkara, Glenn McGrath and Shane Warne as well as other young talents like Rohit Sharma, Gautam Gambhir and Yusuf Pathan. Marsh has been playing for Kings XI Punjab since the start of the Indian Premier League, becoming one of the most vital players for the team.
His excellent form during the 2007–08 season lead to Marsh being given a Cricket Australia Contract and being called up to the Australian Cricket tour of the West Indies.
He made his debut for Australia in June 2008 in a Twenty20 game against the West Indies alongside fellow West Australian debutant, Luke Ronchi. Opening the batting with Ronchi, they compiled an opening partnership of 57 runs from the first 6 overs, with Marsh being dismissed soon after for 29 runs from 22 balls, including two sixes and a four. He made a memorable One Day International debut a few days later, top scoring for the match with 81 runs from 97 balls and winning the Man of the Match award. With the recent retirements of two of Australia's longest-serving ODI opening batsmen in Adam Gilchrist and Matthew Hayden, Marsh was able to claim one of the opening batsmen positions for the 2008–09 season. In the South African tour of Australia, Marsh performed well in the opening two ODI matches, top-scoring in both matches and winning the Man of the Match award in the second game. He has scored more than 50 in five of his 10 matches, and scored his first century in the 5th ODI against India at Hyderabad on 5 November 2009.
Marsh was included in the Test cricket squad for Australia's tour of India in 2008, but was not selected for a match.
On 21 January 2011, in an ODI match against England at Hobart, Marsh scored his second ODI century (110) in a record ninth-wicket partnership with Doug Bollinger. Australia went on to win the match by 46 runs, and Marsh was named Player of the Match.
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. Marsh made his maiden Test century on debut against Sri Lanka on 8 September 2011, and became the 19th Australian to score a century on Test debut. He scored 141 and shared a 258-run 4th wicket partnership with Michael Hussey, who scored 142. He played one Test in Australia's following tour of South Africa, before missing three Tests with a back injury. 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. After continuing to show poor form at domestic level afterwards, he was dropped from the Test team.
Marsh did not return to the Test team until 2014, and from 2014 until 2016 was a fringe player who has filled in for an injured top-order batsman on several occasions. His first recall was in February 2014 as a replacement for Shane Watson in the first Test of Australia's 2013–14 tour of South Africa; he scored 148 runs in his first innings, but was dropped after getting a pair in the second Test. He was recalled to the line-up in December 2014 for the home series against India after captain Michael Clarke tore his hamstring, and scored 254 runs at 42.33 in three Tests. He played both Tests in the 2015 tour of the West Indies after Chris Rogers withdrew with concussion, scoring 112 runs at 37.33. He toured with the Australian team throughout the subsequent 2015 Ashes series, playing well in tour matches but failing (with scores of 0 and 2) in the sole Test for which he was selected. He played two home Tests in 2015–16, one against New Zealand and one against the West Indies after Usman Khawaja suffered a hamstring injury, and in the match against the West Indies scored 182, the highest score of his career to date.
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. Australia's batsmen had struggled in the Sri Lankan conditions throughout the three-Test series, which Australia lost 3–0, but Marsh showed an aptitude and scored a century (130) in his return innings. 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.
Marsh is married to Channel 7 journalist, Rebecca O'Donovan, now Rebecca Marsh. They have one child a son Austin Ross Marsh. His brother in law is animator and Steam Train co-host Ross O'Donovan. He attended Wesley College in South Perth.
Off the field, Marsh has suffered from occasional lapses of discipline. In November 2007, he was suspended for two matches by the WACA for drinking alcohol to excess with teammate Luke Pomersbach.
In October 2012, during the Champions League Twenty20 tournament in South Africa, Marsh was dropped from the Scorchers last game, along with brother Mitchell, after a night of partying to celebrate Mitchell's 21st birthday.