The world's greatest wicket-taker showed his prowess with the bat by cracking an explosive 71 off only 65 balls to help Australia reach 393 in reply to England's 291.
England cut Australia's lead to 59 by tea on the third day at the Sydney Cricket Ground but lost Alastair Cook cheaply before limping to 43 for one in their second innings.
Cook was caught by wicketkeeper Adam Gilchrist off Brett Lee for four, leaving Ian Bell (23 not out) and Andrew Strauss (14 not out) to battle on.
Strauss survived two loud appeals for lbw and a sickening blow to the head after Lee floored him with a bouncer as the Australians looked to consolidate their advantage.
Australia were in briefly in danger of falling behind England on the first innings before their middle and lower order piled on the runs, with Gilchrist (62), Andrew Symonds (48) and Stuart Clark (35) joining Warne in the run-feast.
Warne, playing in his last Test, delivered on his pledge to go out with a bang by belting nine fours and two sixes to post his 12th Test half-century.
He shared a 58-run partnership with Gilchrist to put Australia in front then a 68-run stand with Clark to stretch the advantage and keep Australia on course for their first Ashes cleansweep in 86 years.
Warne, who has scored more runs than any player in history without making a Test hundred, was foiled in possibly his final chance when he was last man out, stumped by wicketkeeper Chris Read off spinner Monty Panesar.
Read also caught Gilchrist, Mike Hussey and Lee to become the first Englishman to twice take six dismissals in an innings after his success in Melbourne last week.
Gilchrist provided another demonstration of his awesome power, cracking eight boundaries and passing 10,000 first-class runs, before he was unluckily given out caught behind off James Anderson, with television replays showing he had failed to make contact with the ball.
Australia's prospects of leading on the first innings had looked bleak when Hussey was dismissed in the second over of the day without adding to his overnight score of 37 and Symonds then threw his wicket away.
Hussey edged a simple catch behind off Anderson while Symonds, who completed his maiden Test hundred in Melbourne last week, wasted his chance of another big score when he was bowled by Panesar following a wild swipe.
England Ist innings 291and 43 for 1 (Ian Bell 23 n o, Strauss 14 n o; Lee 1 for 18) Vs Australia Ist innings 393 (Shane Warne 71, Adam Gilchrist 62, Andrew Symonds 48, Ponting 45, Stuart Clark 35; Anderson 3 for 98, Harmison 2 for 80, Panesar 2 for 90)