Lewis Hamilton claimed his first victory of 2010 in Turkey as the Red Bulls collided while battling for the lead and handed McLaren a clear one-two.
Mark Webber, who had led until Sebastian Vettel's lap 40 passing move ended in disaster for Red Bull Racing, recovered to take third, while Jenson Button spectacularly attacked Hamilton for the lead but ultimately had to follow his team-mate home.
Red Bull had briefly moved into one-two formation at the start as both McLarens lost a place off the line - Hamilton falling to third behind Vettel and Button being eased out of fourth by a determined Michael Schumacher (Mercedes).
Neither stayed there long, with Hamilton getting back alongside Vettel on acceleration through Turn 2 and retaking second into the downhill complex at Turns 3 and 4. Button then drafted Schumacher down the back straight and went around the outside of the Mercedes into Turn 12.
It looked like the pitstops would be McLaren's only chance, but when both Webber and Hamilton came in on lap 15, a very slightly slower wheel change at McLaren not only saw Webber exit first, but Vettel - who had pitted a lap earlier - get between them again. Hamilton immediately tried to re-pass him on the outside into Turn 12, only to run wide. Button ran two laps further to no avail, rejoining fourth again.
After that the Red Bulls and McLarens settled into close formation again, little more than two seconds covering all four.The deadlock held until lap 40, when after edging ever closer to Webber, Vettel drafted alongside out of the Turn 11 kink and drew level down the inside approaching the final complex. The pair suddenly made high-speed contact, sending Vettel spinning wildly into retirement with rear end damage, and Webber slewing over the run-off area. The gap back to Schumacher was such that Webber was able to make a precautionary pitstop for a new front wing and tyres, and still rejoin in third.
The McLaren duo then began some close racing of their own. As light drizzle started, Button got a run on Hamilton towards Turn 12 with nine laps to go. With Hamilton defending the inside, Button went right around the outside - giving him the racing line and the lead at Turn 13.
But Button's lead lasted only the length of the pits straight, with Hamilton diving back to the inside into the first corner and through a narrowing gap to take the lead. With McLaren frantically urging its drivers to conserve fuel thereafter as it kept an eye on some consumption issues, that was the end of the battle.
Schumacher held on to fourth, with his team-mate Nico Rosberg, Renault's Robert Kubica, Ferrari's Felipe Massa and Fernando Alonso chasing the seven-time champion home.
A slightly early tyre stop and quick laps thereafter allowed Alonso to at least gain some ground following his disastrous qualifying. He then spent most of the race trying to get around Vitaly Petrov's Renault, finally succeeding around the outside at Turn 3 in the closing laps - with a brush between giving Petrov a right front puncture. He rejoined to grab fastest lap at the end.
A late pass by Adrian Sutil (Force India) on Kamui Kobayashi (Sauber) resolved a race-long battle for what eventually became ninth, and left Kobayashi to fend off his team-mate Pedro de la Rosa.
1. Hamilton - McLaren-Mercedes 1h28:47.620
2. Button - McLaren-Mercedes + 2.645
3. Webber - Red Bull-Renault + 24.285
4. Schumacher - Mercedes + 31.110
5. Rosberg - Mercedes + 32.266
6. Kubica - Renault + 32.824
7. Massa - Ferrari + 36.635
8. Alonso - Ferrari + 46.544
9. Sutil - Force India-Mercedes + 49.029
10. Kobayashi - Sauber-Ferrari + 1:05.650
11. De la Rosa - Sauber-Ferrari + 1:05.944
12. Alguersuari - Toro Rosso-Ferrari + 1:07.800
13. Liuzzi - Force India-Mercedes + 1 lap
14. Barrichello - Williams-Cosworth + 1 lap
15. Petrov - Renault + 1 lap
16. Buemi - Toro Rosso-Ferrari + 1 lap
17. Hulkenberg - Williams-Cosworth + 1 lap
18. Glock - Virgin-Cosworth + 2 laps
19. Di Grassi - Virgin-Cosworth + 3 laps
Fastest lap: Petrov, 1:29.165
Chandhok - HRT-Cosworth - Lap 53
Senna - HRT-Cosworth - Lap 47
Vettel - Red Bull-Renault - Lap 40
Kovalainen - Lotus-Cosworth - Lap 34
Trulli – Lotus-Cosworth - Lap 33