You are not permitted to download, save or email this image. Visit image gallery to purchase the image.
The middle order batsman's unbeaten 110 anchored a flourishing 174-run stand with wicketkeeper Jonny Bairstow (75 not out), the pair pushing England to 305 for four at the close of a glorious day in Perth.
England captain Joe Root and his predecessor Alastair Cook may have failed with the bat, but the skipper won perhaps the most important contest of the day when he guessed correctly at the toss and opted to bat first.
Criticised for electing to bowl in the second test defeat in Adelaide, Root was rewarded this time with three of his batsmen passing 50.
"Tomorrow the first hour is crucial for us," Malan told reporters after celebrating his maiden ton in his eighth test.
"We're going to have to be quite ruthless the way we play tomorrow morning and put them under pressure, get some more overs into their legs."
Australia's pacemen were generally superb through much of the day and breathed fire in some hostile spells before the tea interval, but the quicks were let down in the field by three dropped catches.
The last of them reprieved lefthander Malan, on 92, off the first delivery with the second new ball from a frustrated Mitchell Starc late in the day.
Coaxing a thick edge from the England number five, Cameron Bancroft dived across from third slip in front of his captain Steve Smith to grass the chance.
"Obviously no one goes out trying to drop catches but I think when the wicket's that flat and it's that hard for our bowlers, it's certainly disappointing," Australia wicketkeeper Tim Paine said.
The 30-year-old Malan went on to raise his century in style, pulling paceman Josh Hazlewood to the fence to trigger a standing ovation from a crowd of 22,148.
Bairstow played a fine support role on his return to the city where he drew unwanted attention for 'head-butting' Bancroft at a local bar on the first night of the tour.
The pair came together with England 115 for three just after lunch and their ability to survive for nearly two sessions will have inspired Root's team as the Ashes holders seek to claw back from a 2-0 deficit in the five-match series.
They weathered some nervy moments. Bairstow, promoted to sixth in the order, all but played onto his stumps during all-rounder Mitchell Marsh's third over when on 39.
Opener Mark Stoneman was out for 56, having twice been dropped after reaching his second half-century of the series and also struck on the helmet with a vicious short ball by Hazlewood.
He was first put down by Mitchell Marsh in the slips, then a diving Nathan Lyon was unable to complete a difficult low chance at point.
Root was out softly for 20, caught down the legside by wicketkeeper Tim Paine, and Stoneman followed in controversial circumstances.
Paine leapt high to take a fine one-handed catch after Starc appeared to graze Stoneman's right glove but the caught behind appeal was turned down.
Australia reviewed and third umpire Aleem Dar overruled Marais Erasmus on the strength of a noise picked up on the 'snicko' technology.
England number three James Vince contributed 25 in a 63-run stand with Stoneman before being caught behind off Hazlewood before lunch.
Cook's 150th test started sourly, the 32-year-old opener lasting just 16 balls in the morning before being trapped lbw by Starc for seven.
Day one at the WACA was overshadowed by spot-fixing allegations in a British newspaper. The ICC said it took the accusations "seriously" but said there was no evidence to implicate any of the match's players or officials.