England were in desperate need of inspiration after former Barnsley striker Georgi Hristov punished a woeful first-half display to give Macedonia a deserved lead.
But Everton's Rooney equalised early in the second half - and captain David Beckham kept alive England's hopes of automatic qualification for next summer's finals with the winner from the penalty spot.
It was a night of glory for Rooney, who opened his England account at the tender age of 17 years and 317 days to beat Michael Owen's record.
England coach Sven-Goran Eriksson also deserves credit for a bold attacking formation in the second half - but once again he will be concerned by a dreadful defensive display.
Eriksson responded to England's shambolic opening 45 minutes by sending on Emile Heskey for Frank Lampard, and his tactical switch paid off handsomely.
England's seventh straight win, which equalled their post-war record, was marred by incidents off the pitch as well as racist chanting from the crowd in Skopje.
Beckham was, as expected, declared fit after a minor groin strain and Rooney partnered Owen in attack.
Macedonia were in uncompromising mood and emphasised the fact with a series of early tackles which saw Ilco Naumoski booked for foul on Nicky Butt in the opening seconds.
And England had a narrow escape after 12 minutes when Lampard conceded possession and Macedonia captain Artim Sakiri was harshly adjudged offside when he was clean through on goal.
But England failed to heed the warning signs and Macedonia deservedly took the lead in the 26th minute.
It was a catalogue of defensive disaster for England, with Gary Neville starting the rot by playing Macedonia onside.
And when Vlatko Grozdanovski's cross was hopelessly misjudged by Sol Campbell, Hristov was on hand to score after Goran Pandev's shot was blocked.
England were unable to establish any sort of foothold, with attacking opportunities virtually non-existent.
It had been a desperate opening 45 minutes - and Eriksson made a vital change at the interval.
Heskey replaced Lampard as Eriksson went for a three-pronged strike force.
And it was rewarded almost instantly when Heskey nodded down Beckham's pass for Rooney to beat Milosevski from 20 yards.
And the game was turned around completely on the hour when England went ahead.
John Terry was floored by Macedonia substitute Braga and Beckham scored expertly from the spot.
Braga almost made amends with 20 minutes left when he cut inside the struggling Ashley Cole, but saw his shot deflected on to the top of the net by Campbell.