Germany forward Miroslav Klose scored his 50th international goal and seventh in his past seven games to clinch top spot in Group 4 for his team.
Although defender Jerome Boateng was sent off for a second yellow card in the 68th minute, the Germans held on for a victory in Moscow that gives them an unassailable four-point lead.
The Russians have the consolation of the runners-up spot and a likely place in the two-legged playoffs.
England had already joined the Netherlands and Spain in reaching next year's tournament from European qualifying, but hoped to go to South Africa after winning all 10 group games.
That run ended after a deflected 29th-minute strike by Serhiy Nazarenko from 20 meters beat substitute goalkeeper David James.
Ukraine's Andriy Shevchenko had earlier hit a penalty against the post after goalkeeper Robert Green had been sent off.
Ukraine's victory means it climbed above Croatia into second place in Group 6. The eight best runners-up in the nine groups will go into the playoffs, with second-place Norway in Group 9 expected to miss out.
Switzerland stood on the verge of qualifying after a 2-0 victory over Luxembourg following two early headed goals by Phillipe Senderos.
With second-place Greece due to play No. 3 Latvia later on Saturday, the Swiss had to wait to see if they would qualify Saturday or wait until next Wednesday's final round.
European champion Spain made it nine wins out of nine with a 2-1 victory in Armenia, fielding largely a backup team. A first-half goal by Cesc Fabregas and a second-half penalty by Juan Mata captured three more points for the Spaniards.
Bosnia-Herzegovina, which has never played in the World Cup, guaranteed second place in Group 5 with a 2-0 victory at Estonia after goals by Edin Dzeko and Vedad Ibisevic.