Kimi Raikkonen secured his second consecutive Grand Prix victory by overcoming the McLarens at Silverstone.
Fernando Alonso led the middle stint of the race but ultimately had to settle for second behind the Ferrari.
However he still trimmed his teammate Lewis Hamilton's championship lead by two points, as the home crowd favourite could only manage third place, despite leading the early laps from pole position.
Raikkonen had shadowed Hamilton throughout the opening laps - the Briton having resisted the Ferrari driver's attempt to grab the lead off the startline. Alonso remained firmly in contention too, staying within two seconds of the leaders and matching their laptimes.
Towards the end of Hamilton's first stint the pressure from Raikkonen increased, with the Ferrari slipstreaming the McLaren down the Hangar Straight, and getting right alongside at Brooklands on lap 14. Hamilton calmly turned in and claimed the corner, but it was clear that Raikkonen had the faster package.
Hamilton was the lightest of the lead cars and pitted on lap 16. The stop nearly went wrong as Hamilton lurched forward prematurely, but there was no repeat of Christijan Albers' dramatic Magny-Cours incident, and the McLaren crew completed refuelling with minimal drama or delay.
Once Hamilton was out of the way, Raikkonen unleashed a series of new fastest laps, emerging comfortably ahead of Hamilton after he stopped two laps longer.
But Alonso went two laps further still, and although there were no astounding times on his in-laps, he was still circulating a second quicker than the now-heavy Ferrari. Coupled with McLaren's decision to short-fuel and go for a mid-race sprint, it was enough for Alonso to emerge from the pits two seconds clear of Raikkonen.
Now on the softer tyres, Alonso began a charge and rapidly extended his lead to five seconds. But Raikkonen was soon matching the McLaren's times and preventing the champion from escaping further.
Alonso made his final stop on lap 37, while Raikkonen had enough fuel to go six laps further.
Once again, his in-laps were extremely rapid, and the Ferrari was 28 seconds clear of the McLaren before it pitted, allowing Raikkonen to rejoin a secure four seconds ahead. He proceeded to extend that lead throughout the stint and confirm his third victory for Ferrari.
Hamilton was significantly slower than the lead duo during his middle stint, losing as much as two seconds per lap and falling half a minute behind. But despite the disappointment, the rookie driver still took his ninth consecutive podium and continues to lead the standings by 12 points over Alonso.
Felipe Massa lost his opportunity to join the lead battle when he stalled on the grid. He took the start from the pitlane and made extremely rapid progress through the midfield in the opening laps, before jumping several more cars by running longer before his first stop.
He rejoined seventh and spent the middle stint trapped behind Renault's Giancarlo Fisichella. But Massa successfully passed both the Renault and BMW's Nick Heidfeld during the final stops, putting him behind Robert Kubica in fifth.
The Ferrari tried a variety of moves on Kubica in the remaining laps but had to be content with fifth place, as Kubica earned his second consecutive fourth position.
Heidfeld used long stints to come from ninth on the grid to sixth, with Heikki Kovalainen passing Renault teammate Fisichella for seventh in the final stops.
The Hondas made a one-stop strategy work well, allowing Rubens Barrichello and Jenson Button to come from the midfield to ninth and tenth, Button fending off countryman David Coulthard at the end of the race.
Williams had a difficult race. Nico Rosberg made assertive progress on a short opening stint, then fell back in the traffic and ended up 12th. Alex Wurz survived a collision with Toro Rosso's Scott Speed at Club - which left the American out of the race with broken suspension - to take 13th.
Toyota's promising practice and qualifying form evaporated in the race. Ralf Schumacher lost ground at the start and retired early with a suspension problem, while Jarno Trulli eventually pulled out after struggling with extreme tyre wear and poor handling all afternoon.
Other notable retirements included Red Bull's Mark Webber with an early hydraulic failure, and Briton Anthony Davidson, whose extreme handling problems could not be solved.
PROVISIONAL RACE RESULTS The British Grand Prix Silverstone, Britain; 60 laps; 308.355km; Weather: Sunny. Classified: Pos Driver Team Time 1. Raikkonen Ferrari (B) 1h21:43.074 2. Alonso McLaren-Mercedes (B) + 2.459 3. Hamilton McLaren-Mercedes (B) + 39.373 4. Kubica BMW Sauber (B) + 53.319 5. Massa Ferrari (B) + 54.063 6. Heidfeld BMW Sauber (B) + 56.336 7. Kovalainen Renault (B) + 1 lap 8. Fisichella Renault (B) + 1 lap 9. Barrichello Honda (B) + 1 lap 10. Button Honda (B) + 1 lap 11. Coulthard Red Bull-Renault (B) + 1 lap 12. Rosberg Williams-Toyota (B) + 1 lap 13. Wurz Williams-Toyota (B) + 1 lap 14. Sato Super Aguri-Honda (B) + 2 laps 15. Albers Spyker-Ferrari (B) + 2 laps 16. Liuzzi Toro Rosso-Ferrari (B) + 4 laps Fastest lap: Raikkonen, 1:20.638 Not classified/retirements: Driver Team On lap Trulli Toyota (B) 45 Davidson Super Aguri-Honda (B) 37 Speed Toro Rosso-Ferrari (B) 31 R.Schumacher Toyota (B) 24 Sutil Spyker-Ferrari (B) 19 Webber Red Bull-Renault (B) 10 World Championship standings, round 9: Drivers: Constructors: 1. Hamilton 70 1. McLaren-Mercedes 128 2. Alonso 58 2. Ferrari 103 3. Raikkonen 52 3. BMW Sauber 56 4. Massa 51 4. Renault 31 5. Heidfeld 33 5. Williams-Toyota 13 6. Kubica 22 6. Toyota 9 7. Fisichella 17 7. Red Bull-Renault 6 8. Kovalainen 14 8. Super Aguri-Honda 4 9. Wurz 8 9. Honda 1 10. Trulli 7 11. Rosberg 5 12. Coulthard 4 13. Sato 4 14. R.Schumacher 2 15. Webber 2 16. Vettel 1 17. Button 1 All timing unofficial