Sebastian Vettel kept his and Red Bull's title hopes alive by dominating the Japanese Grand Prix - but with Jenson Button salvaging eighth and only losing one point to Rubens Barrichello, the points leader could still leave Suzuka satisfied.
Jarno Trulli gave home team Toyota its second runner-up finish in a week by beating Lewis Hamilton's McLaren to second, with the world champion just resisting Ferrari's Kimi Raikkonen for third after a late safety car.
Vettel managed to fend off Hamilton at the start, keeping the McLaren to the outside as its KERS boost thrust it straight past front row starter Trulli.
This trio stretched away from the field and each other, with Nick Heidfeld's BMW in a lonely fourth at first, and Barrichello trapped behind Raikkonen in sixth.
Button fell to 12th at the start, but managed to re-pass Giancarlo Fisichella's Ferrari further around the first lap and then outbraked Robert Kubica's BMW at the chicane on lap three.
The championship leader was then stuck behind the battling Heikki Kovalainen (McLaren) and Adrian Sutil (Force India) and started to lose touch with the top eight. Fortunately for Button, the pair ahead tangled at the chicane on lap 13 as Kovalainen tried to fight back on the exit after losing the place under braking.
While Sutil spun and Kovalainen lost momentum, Button cruised through to eighth - and the race continued to unfold in his favour through the middle stint. Rather than managing to jump Raikkonen and challenge for a podium, Barrichello stayed behind the Ferrari in the first stops and then lost ground on his second set of tyres, falling 15s behind Raikkonen.
The threat from the fast-closing Kubica behind was then neutralised when Heidfeld emerged from his final stop right in front of his team-mate, and by the time Kubica had got ahead after several laps of frantic efforts, he was too far adrift to steal the point from the Brawn.
Up front, Vettel controlled the race with ease, while Hamilton looked to be secure in second, 2-3s clear of Trulli, until the Toyota ran two laps further at the second stops and jumped ahead to claim the runner-up spot.
Raikkonen charged up behind Heidfeld in the middle of the race and then vaulted the BMW for fourth in the pits, with Nico Rosberg then pushing his countryman back to sixth by running very long in his second stint.
Rosberg was able to make his final stop behind the safety car, which was called when Jaime Alguersuari had a heavy crash at the 130R. The Toro Rosso driver signalled that he was unhurt, but was taken for medical checks. His team-mate Sebastien Buemi retired early with a clutch problem.
Vettel stormed away with ease in the final four-lap sprint, with Trulli safe in second as Hamilton held off Raikkonen despite KERS malfunctions.
The focus in the final laps was the huge battle for the final points and the championship. Button mounted a final attack on Barrichello, then found himself under huge pressure from Kubica instead. The Pole's last-gasp efforts did not pay off, and Button was able to hang on to his point.
Fernando Alonso used a one-stop strategy to come through from the back to 10th for Renault, ahead of Kovalainen and Fisichella, who had a dramatic moment at their final stops when the Ferrari jumped ahead in the pits but the McLaren retaliated with a bold wheel-banging move into the first corner.
While Vettel dominated, Mark Webber's miserable weekend continued with three early pitstops - two to secure a loose cockpit surround, and the third to attend to a puncture. Fastest lap showed what might have been.
PROVISIONAL RACE RESULTS The Japanese Grand Prix Suzuka, Japan; 53 laps; 307.573km; Weather: Sunny. Classified: Pos Driver Team Time 1. Vettel Red Bull-Renault (B) 1h28:20.443 2. Trulli Toyota (B) + 4.877 3. Hamilton McLaren-Mercedes (B) + 6.472 4. Raikkonen Ferrari (B) + 7.940 5. Rosberg Williams-Toyota (B) + 8.793 6. Heidfeld BMW Sauber (B) + 9.509 7. Barrichello Brawn-Mercedes (B) + 10.641 8. Button Brawn-Mercedes (B) + 11.474 9. Kubica BMW Sauber (B) + 11.777 10. Alonso Renault (B) + 13.065 11. Kovalainen McLaren-Mercedes (B) + 13.735 12. Fisichella Ferrari (B) + 14.596 13. Sutil Force India-Mercedes (B) + 14.959 14. Liuzzi Force India-Mercedes (B) + 15.734 15. Nakajima Williams-Toyota (B) + 17.973 16. Grosjean Renault (B) + 1 lap 17. Webber Red Bull-Renault (B) + 2 laps Fastest lap: Webber, 1:32.569 Not classified/retirements: Driver Team On lap Alguersuari Toro Rosso-Ferrari (B) 58 Buemi Toro Rosso-Ferrari (B) 26 Glock Toyota (B) DNS World Championship standings, round 15: Drivers: Constructors: 1. Button 85 1. Brawn-Mercedes 156 2. Barrichello 71 2. Red Bull-Renault 120.5 3. Vettel 69 3. Ferrari 67 4. Webber 51.5 4. McLaren-Mercedes 65 5. Raikkonen 45 5. Toyota 54.5 6. Hamilton 43 6. Williams-Toyota 34.5 7. Rosberg 34.5 7. Renault 26 8. Trulli 30.5 8. BMW Sauber 24 9. Alonso 26 9. Force India-Mercedes 13 10. Glock 24 10. Toro Rosso-Ferrari 5 11. Kovalainen 22 12. Massa 22 13. Heidfeld 15 14. Kubica 9 15. Fisichella 8 16. Sutil 5 17. Buemi 3 18. Bourdais 2 All timing unofficial