First-half goals from Ashley Young and Darren Bent were enough to claim a draw against a Montenegro side who were rampant in the second half.
England were cruising after two goals in 31 minutes, but Elsad Zverotic's deflected effort in stoppage time before the break gave them hope and they levelled at the end through Andrija Delibasic to grab a play-off berth.
But the journey home for England was spoiled by Rooney's red.
It came 17 minutes from the end, for a completely needless challenge on Miodrag Dzudovic, that led to the 25-year-old becoming only the second England player - after David Beckham - to be sent off twice.
The dismissal brings an automatic one-match ban for England's next competitive game, their first of the finals, and the potential for a second should UEFA deem it sufficient punishment.
It was an amazing way for Fabio Capello's 40th match as England coach to end, made all the more crazy because for 44 minutes, no one saw anything like this coming.
Even though they only required a point to book their ticket to next summer's finals in Poland and Ukraine, Capello insisted England would not adopt a cautious approach.
He was as good as his word too as wide men Theo Walcott and Ashley Young exposed unexpected frailties in the Montenegrin defending from an early stage.
Rooney dropped deep, leaving Bent to dash into spaces in a manner the hosts found strangely difficult to deal with.
Debutant Phil Jones had already gone close with a wayward cross that almost dropped in when England carved their opponents open in textbook fashion.
Glorious movement off the ball led to Rooney releasing Walcott down the right.
The Arsenal man's delivery to the far post was perfect. In charged Young and in went the close-range header. Football at this level is rarely as easy as that.
It stunned the Montenegro supporters. Instead of the predicted sizzling atmosphere, they were drowned out by the jubilant visitors as they completed a set of first 15-minute goals in all their Group G away games.
And England did not stop there.
Rooney would have had a tap-in if Dzudovic had not cut out Bent's cross at full stretch.
Jones' powerful header from Walcott's corner was goalbound until it struck Rooney on the back.
England were in cruise control and their lead was doubled by Bent 14 minutes before the break.
Once again, the move was launched by Rooney from a central position.
This time the incisive pass went to the left, where Young was on the chase. Bent could not fail to slot home his fourth goal in five internationals from close range.
Had England reached half-time, Capello's only complaint could have been about Walcott's failure to protect Jones, whose performance at right-back belied his 19 years.
As it turned out, he had good reason to gripe as his side lost concentration in stoppage time and Zverotic profited, his shot finding the bottom corner thanks to a significant deflection off Gary Cahill.
Quite apart from changing the nature of Capello's half-time prompting, it brought the hosts to life.
Hart denied Fatos Beciraj with a low save, then Stevan Jovetic had a penalty appeal turned down following a clumsy challenge from Jones.
After another effort that Beciraj screwed wide, Young went off holding his knee, although the more natural defensive capabilities of Stewart Downing were handy on a night that had turned into something of a trial.
There could hardly have been a greater contrast in the two halves though as Blackburn's Simon Vukcevic went for goal, triggering the introduction of Frank Lampard for Bent and a completely rejigged 4-5-1 formation.
Rooney was supposed to be at the apex. Then came the clash with Dzudovic, German referee Wolfgang Stark sending off Rooney for his kick out at his opponent.
Out came the red card, Rooney sent down the tunnel in disgrace.
There was still time for Montenegro to deny England victory, but that is a side issue compared to the ridiculous act of a player who could now miss two-thirds of England's group phase next summer.