Malan (110 not out) delivered the first hundred of England’s Ashes campaign, while Mark Stoneman (56) and Jonny Bairstow (75no) played important hands too in a stumps total of 305 for four after captain Joe Root chose to bat in the third Test.
First Stoneman, and then Malan, were in the eye of a storm as the WACA of old returned, with all its world-renowned pace and bounce, and Australia’s seam attack was in its element.
The opener was dropped twice in the space of five balls off Josh Hazlewood, both on 52 at slip and then gully, and hit on the helmet in between by the same bowler.
He stood firm until an initial not-out decision for caught-behind off Mitchell Starc was overturned on review by third umpire Aleem Dar on the basis of marginal Snicko evidence - much to England’s displeasure.
They responded, however, with Malan and Bairstow’s unbroken stand of 174 to grasp a belated foothold in this series, which Australia lead 2-0.
The stakes were raised in this crucial contest immediately after lunch, when Stoneman and Root bagged 20 runs in the first two overs and then Hazlewood and Pat Cummins unleashed a barrage of bouncers.
Stoneman was put down by Mitch Marsh when he edged a loose drive at Hazlewood and then took a worrying blow to the side of his helmet.
England’s medics needed several minutes to check him over, but Hazlewood was in no mood to relent, and with his very next deliver he had Stoneman splicing another brute into the off side just short of Nathan Lyon, running and diving forwards from point.
Root was still looking assured until he went a long way across beyond off stump to Cummins and gloved a catch down the leg side.
Tim Paine was safe on that occasion and brilliant soon afterwards when Starc replaced Hazlewood and served up a snorter which may or may not have brushed Stoneman’s glove.
It took more than five minutes to sort out the resulting confusion, although Dar’s telling call came too quickly for many observers, not least Root who flicked the glass door of the dressing room in disgust as the opener made his way off.
There had been no such lingering doubts earlier about Alastair Cook’s departure, pinned lbw in the crease by a fast and full ball from Starc as he failed to mark his 150th Test cap with worthwhile first-innings runs.
James Vince flattered, not for the first time, with a promising collection of early boundaries before becoming becalmed by Hazlewood and he had gone 17 balls without scoring when he pushed at one outside off stump and edged behind.
It was ultimately honours even through an afternoon session of thrilling, and occasionally frightening, theatre.
Malan would have been run out for 32 with a direct hit from cover.
But after Bairstow’s dubious call for a single, David Warner passed up the opportunity to make it 155 for five - and in the evening England did not look back until Malan was dropped on 92 by Cameron Bancroft when an edge on Starc’s first delivery with the second new ball flew to third slip.
He needed no further fortune before completing a memorable 160-ball century when he pulled Hazlewood for his 13th four.