Playing in his first Test since the 2019 Ashes, March hit a-run-a-ball 118 before Australia collapsed to lose their last six wickets for 23 runs in their lowest score of the series.
Mark Wood was the main destroyer for the hosts, bowling at speeds of up to 155km/h in his first match of this year's Ashes to finish with 5-34.
Making an immediate impact, Wood sent down three maidens in his opening spell and rattled the stumps of Khawaja before returning to later mop up the tail.
Chris Woakes also took 3-73 and Stuart Broad 2-58, after the latter removed David Warner in the first over of the day and Steve Smith for 22 just before lunch.
Australia's troubles around Marsh highlighted how good his innings was on a wicket with plenty of pace and movement.
His century will immediately pile pressure on selectors to keep him in the team, with the recall only coming about through a minor hamstring strain for Cameron Green.
Marsh walked to the crease at 4-85, and immediately went about making a statement by cover-driving Broad to get off the mark and later pulling Wood for six.
He hit 21 boundaries in his knock, driving with incredible power and pulling three sixes high over the legside and belting another one down the ground.
Such was the West Australian's strike power, the usually free-flowing Head was made to look as if his batting had come to a standstill with his 39.
The pair's 155-run partnership will be of great frustration for England, who would be in an even more imposing position had they taken their chances behind the stumps.
Head should have been caught on eight when he hit a ball down legside through to Jonny Bairstow, only for the wicketkeeper's nightmare series behind the stumps to continue.
England then had the chance to remove Marsh on 12 when he offered Joe Root a regulation chance at first slip off Woakes.
But like 15 other chances in this series for England, it was put down.
The hosts also lost seamer Ollie Robinson to back spasms, while Ben Stokes did not bowl on his problematic left knee.
All the while, Marsh showed no sympathy.
He went to 99 by whacking Moeen Ali back down the ground for six, and pushed a quick single off the next ball to go to three figures.
However, the party ended when he inside-edged Woakes into his thigh pad and was caught at second slip on what was ultimately the last ball before tea.
As good as Marsh's innings was, Australia will be disappointed they didn't do more around him.
The tourists fell apart upon his dismissal, as Head glided a Woakes ball to first slip after tea and the tail surrendered soon after.
A draw for Australia will mean they retain the Ashes, while a win would wrap up the series with two Tests still to play.