The master Australian leg-spinner bowled England opener Andrew Strauss with a leg-break with the second ball of his fourth over to trigger a huge roar from the near-capacity crowd here on Tuesday.
Strauss had reached his first half-century of the series but was befuddled by the delivery, which knocked over his middle stump.
Warne, 37, is playing in his penultimate Test match after announcing last week that he was retiring from Test cricket after next week's fifth Sydney Test.
Warne is playing in his 144th Test match and has an average of 25.48 runs per wicket.
The Australian team ringed Warne and individually congratulated him before captain Ricky Ponting gave him the ball to raise to the delighted home-town crowd in recognition of becoming the first bowler in Test history to pass 700 wickets.