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. In 1978 he played five games of Australian rules football for South Fremantle in the West Australian National Football League before concentrating only on cricket.
Marsh established himself as a solid competitor on the domestic front and was on the fringes of the national team for a number of years before winning selection in the Australian Test team. He made his debut in December 1985 against India and took part of the tours of New Zealand and India the following year. However, his domestic debut was less than impressive, scoring a golden pair for Western Australia on debut at Sydney Cricket Ground, which was recorded in hand-written form on a storing cabinet inside the away team's dressing room as a symbolic "domestic honours board".
He soon made the opening position his own, batting alongside the likes of Mark Taylor and David Boon, and became an integral part of the Australian One Day International team.He along with David Boon became the first pair of openers to notch hundreds in a same ODI innings for the team
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 retired from playing cricket in 1994 before taking up coaching. In July 1996 he was chosen as coach of the Australian national Test and One Day International teams, playing a vital part in continuing his country's positions as the top cricketing nation of the time. He was the coach of the Australian team that won the 1999 World Cup in England, guiding the team to seven consecutive victories to help them win the tournament.
He left the Australian coaching job and soon became a selector for the Australian Cricket Board (now Cricket Australia), although he left this position in 2001 to become coach of the Zimbabwean national teams. 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.
In Mid 2009 Geoff was appointed Head Coach of the Fremantle District Cricket Club, a club which Geoff spend most of his senior playing career with.
He was appointed as the head coach for the team Pune Warriors India which made its IPL debut in 2011.
In September 2011, he was appointed as the head coach of the Sri Lanka national team. However, his tenure lasted barely four months. After Sri Lanka lost the Test and ODI series of their tour of South Africa in December 2011 and January 2012, he was dismissed and replaced by Graham Ford.
Geoff Marsh is only the third test player - after Walter Hadlee and Lala Amarnath - to have two sons play test cricket: Shaun Marsh, who made his test debut against Sri Lanka in 2011; and Mitchell Marsh, who made his test debut against Pakistan in 2014.
Marsh's daughter Melissa Marsh played basketball in the WNBL.
He is not related to Rod Marsh.
Test Debut: vs India, Adelaide, 1985–1986Marsh's best Test batting score of 138 was made against England, Nottingham, 1989
Last Test: vs India, Adelaide, 1991–1992
ODI Debut: vs New Zealand, Sydney, 1985–1986Marsh's best ODI batting score of 126 not out was made against New Zealand, Chandigarh, 1987 World Cup
He captained Australia in four ODIs, winning three and losing one
Last ODI: vs Pakistan, Perth, 1991–1992
Marsh scored 11,760 runs at 39.46, with 33 centuries.His 355* for WA v SA in Dec 1989 is the 28th highest score in first class history, and the 10th highest by an Australian.