Marsh, who looks to be competing with Shane Watson for a starting spot in Cardiff, was 136 not out from 151 balls at the close of play in an innings which has so far featured 15 fours and five sixes, the last of which brought up his ton.
The 23-year-old added 188 runs for the sixth wicket with reserve wicketkeeper Peter Nevill, who fell for 78 from 113 balls off the final delivery of the day when he was caught by substitute Saf Imtiaz off the bowling of Jesse Ryder (1-52).??
All-rounder Watson had earlier made a fine 52 from 55 balls before he chopped a delivery from Ryan ten Doeschate (1-49) onto his stumps as most of the Australian batsmen enjoyed themselves on a fine batting surface in the Essex sunshine.
Skipper Michael Clarke was the one exception as he was dismissed for a golden duck when he was caught acrobatically at leg-slip by Ten Doeschate to become the second victim in two deliveries for Tom Moore (2-50).
The 23-year-old, who had only played four previous first-class matches, had Chris Rogers caught behind off a thin edge by James Foster for 21 off the previous ball to end an opening partnership of 60 with David Warner.
Warner was in good form but he missed out on a century when he was caught by Essex captain Ravi Bopara, who chose to field after winning the toss, off Jamie Porter (1-71) shortly before lunch.
Adam Voges fell one short of a half-century when he was run out on 49 following a mix-up with Marsh, but he proved a good foil for Warner and Watson in partnerships of 72 before adding 48 with Marsh.??
Peter Siddle started for Australia in place of pace bowler Ryan Harris, whose knee “flared up” in the last game against Kent, making him a doubt for the first Ashes Test.