Marsh was a steady, solid right-handed opening batsman and capable fielder, making his first-class debut for Western Australia as a nineteen-year-old in the 1977–1978 Sheffield Shield season.
He along with David Boon became the first pair of openers to notch hundreds in a same ODI innings for the team[3] Marsh played international cricket over a seven-year period, ending in 1992.
He is best remembered for his part in the Australian team that won the 1987 World Cup in India, including an unbeaten 126 against New Zealand in Chandigarh, while he also captained his country in four matches.
Over his career Marsh was a solid performer in One Day International cricket, with a batting average of nearly 40 but had a very low strike rate compared to more recent opening batsman.
Marsh continued in this position until 2004 when his contract expired; many considered this decision was made due to the political circumstances of Zimbabwe's government under Robert Mugabe, although he has never commented publicly on the matter.