Warner was given a life on 13 when England wicketkeeper Matt Prior missed a regulation stumping after the hard-hitting left-hander tried to charge spinner Graeme Swann.
But from there Warner was in complete control, thumping 16 fours and one six on the way to his 127-ball century.
Warner leapt in the air in celebration and then kissed his helmet after cracking Swann through point to bring up his ton.
The 27-year-old has scored more than 400 runs during the series to put Australia on the verge of reclaiming the Ashes.
His performances are in stark contrast to the recent series in England, when he was banished for the first two Tests after punching Joe Root in a bar-room incident.
Warner made just 138 runs at an average of 23 for the remaining three Tests of that series, with Australia slumping to a 3-0 defeat.
But he has been in sizzling touch this summer, scoring two tons and two half-centuries to put England's bowling attack to the sword.
Warner might have recorded another century in Adelaide had Australia not declared with the him unbeaten on 83.
Perth has been a happy hunting ground for Warner.
In January last year, Warner slashed a 69-ball century on the way to his highest Test score of 180 in Australia's big win over India.