Malan, with a chancy 110 not out, and Bairstow, 75 not out, lifted the tourists' sagging fortunes to finish the day on 305-4.
Perth: Dawid Malan hit a maiden century in an unbeaten 174-run stand with Jonny Bairstow as England took the honors on the opening day of the third Ashes test at the WACA on Thursday.
After electing to bat first, England was in some bother at 131-4. Then Malan, with a chancy 110 not out, and Bairstow, 75 not out, lifted the tourists' sagging fortunes to finish the day on 305-4.
England was helped in its cause by Australia dropping three catches and missing an opportunity to run out Malan.
Malan survived a run out on 32, and was dropped on 92 by Cameron Bancroft off Mitchell Starc's first delivery with the second new ball.
He brought up his maiden test ton in his eighth test by pulling Josh Hazlewood for his 13th four. He batted for 242 minutes in all and faced 174 balls. He hit 15 boundaries and a top-edged six off Starc.
The first century by an England batsman in the series couldn't have come at a better time, as England must win this test to keep the series alive. Australia won the first two tests convincingly.
Bairstow was promoted to bat at No. 6 in a small change to the unchanged lineup. He joined Malan after opener Mark Stoneman was contentiously dismissed for 56.
Stoneman played a dogged innings against a barrage of short-pitch bowling. He was dropped twice and hit on the helmet all within five deliveries.
Out of Stoneman's shadow, Malan dominated Australia's three-pronged pace attack that had rattled the tourists.
Malan came to the crease when skipper Joe Root fell for 20, followed soon after by Stoneman.
Upon reaching his half-century with a top-edged cut off fast bowler Hazlewood, Stoneman was dropped on 52 by first slip Mitchell Marsh, and then felled by a Hazlewood bouncer that broke his helmet. He received medical attention on the field.
Still on 52, Stoneman fended another short delivery but a diving Nathan Lyon couldn't get his fingers under the falling ball.
After staying on the same score for more than 30 minutes, Stoneman finally edged Hazlewood for his 10th boundary to move to 56.
But his dour innings was cut short when he was adjudged caught behind after Australia referred a not out decision to television umpire Aleem Dar. The videos were inconclusive as to whether the Starc delivery brushed Stoneman's gloves en route to wicketkeeper Tim Paine.
But there was a small amount of evidence indicating ball on glove, and Stoneman was given out. Players in the England dressing room were visibly upset over the decision.
England started the day positively, with Stoneman stroking four boundaries in the space of five balls, including three in succession against Starc.
Alastair Cook was first out, the former skipper managing just 7 off 26 balls in his 150th test before Starc pinned him on the crease and trapped him.
Stoneman shared a 63-run second-wicket stand with James Vince (25), which was broken by Hazlewood just before lunch.
Root was out for 20 when he edged a legside catch to Paine off fast bowler Pat Cummins.
The start of the game was overshadowed by a British newspaper report alleging international attempts to fix parts of it.
The Sun published purported evidence of bookmakers offering to sell details of rigged periods of play for betting purposes.
The International Cricket Council immediately launched an investigation, supported by the cricket boards of Australia and England.
"From my initial assessment of the material, there is no evidence, either from The Sun or via our own intelligence, to suggest the current test match has been corrupted," ICC anti-corruption unit general manager Alex Marshall said.
"At this stage of the investigation, there is no indication that any players in this test have been in contact with the alleged fixers," he added.