David Beckham became the first player to be sent off twice for England as they stuttered to victory against Austria at Old Trafford.
Beckham was shown two yellow cards in two minutes in the second half for fouls on Andreas Ibertsberger.
Frank Lampard put England on course for Germany with a first-half penalty after Paul Scharner fouled Michael Owen.
And while their display was far from assured, England qualified later as Holland beat the Czech Republic.
Now the game against Poland on Wednesday will merely be about who finishes first and who comes second in Group Six - as both have qualified to play at Germany 2006.
Beckham will now miss that match following his red card, while Sol Campbell also limped off with a hamstring injury.
It was also the first time an England captain had been sent off, and Beckham's second red card for England, coming seven years after his first, at the 1998 World Cup against Argentina.
The second booking by Spanish referee Luis Medina Cantalejo did look harsh, but even before Beckham's exit, England had not looked that comfortable, and once down to ten men were forced to hold on.
Boss Sven-Goran Eriksson, as expected, dropped Rio Ferdinand to restore Campbell and paired Peter Crouch with Owen up front.
Austria gave England an early scare when the powerful Markus Kiesenebner unleashed a shot from fully 25 yards that forced a fine save from Paul Robinson.
The combination of Crouch and Owen showed promising signs early on, and it took a desperate saving tackle from Scharner to deny the Newcastle striker after a headed flick from his strike partner.
England made the breakthrough after 25 minutes, when referee Cantalejo pointed to the spot after Scharner needlessly pulled Owen back by the arm.
Beckham handed penalty duties to Lampard after missing his last three for England, and it proved to be a wise decision as the Chelsea man sent Jurgen Macho the wrong way from the spot.
England had an even more blatant penalty appeal waved away four minutes before the interval when Owen was clearly clattered to the ground by Andreas Dober, but this time referee Cantajelo was unimpressed.
Owen almost doubled England's lead three minutes after the interval when he raced in on Lampard's pass, but Macho plunged bravely at his feet.
England were strangely lacklustre, and Austria were almost level after 56 minutes when Roland Linz stole in on Terry's header and saw his clever lob rebound to safety off the bar.
There was real drama after after 57 minutes when Beckham was booked after a challenge with Ibertsberger - then sent off seconds later for a foul on the same player as he raced towards the penalty area.
Beckham was unhappy with Ibertsberger, but England's captain was unwise to dive into the tackle with the first yellow card still fresh in the referee's mind.
The red card prompted Eriksson into a cautious substitution, replacing Joe Cole with Ledley King.
England's woes piled up even further when Campbell pulled up clutching his hamstring and was replaced by Ferdinand.
Even with only 10 men, Lampard was still able to produce two fine saves from Macho in the closing stages.
England: Robinson, Young, Terry, Campbell, Carragher, Beckham, Gerrard, Lampard, Cole, Crouch, Owen. Subs: King, Kirkland, Ferdinand, Wright-Phillips, Richardson, Bent, Defoe.
Austria: Macho, Dober, Scharner, Stranzl, Ibertsberger, Schopp, Aufhauser, Kiesenebner, Weissenberger, Ivanschitz, Linz. Subs: Schranz, Feldhofer, Standfest, Sariyar, Saumel, Lasnik, Kuljic.
Referee: Luis Medina Cantalejo (Sevilla)