The Mercedes cars looked threatening all weekend and had Lewis Hamilton not suffered a tyre delamination early in the race, it could have been a Mercedes one-two.
Tyres played a critical role through the race as the first third was blighted by spectacular failures, most likely due to a low pressures and harsh kerbs.
Mark Webber recovered from a first lap collision with Romain Grosjean to recover to second and Daniel Ricciardo again made his case for Webber's Red Bull seat, finishing eighth.
Practice and Qualifying
Australia's Daniel Ricciardo went fastest in the Toro Rosso in FP1 while the Ferraris struggled.
Mercedes went fastest in second practice with Webber close behind and FP3 again saw the Mercedes dominate.
Qualifying saw the same result for Mercedes - Hamilton on pole, Rosberg second with Vettel and Webber third and fourth respectively. Paul di Resta's time was good enough for fifth but he was relegated to dead last after his car was found to be underweight by just 1500 grams.
Ferrari's Alonso started tenth and Massa twelfth.
A sunny - but windy - day greeted the drivers for the race.
Hamilton and Raikkonen had a huge start while contact with Grosjean saw Webber go backwards in the pack. The Ferrari of Massa rocketed to fifth while Alonso set about attacking the McLaren of Button.
Webber's damage was reasonably light and he was able to start working his way forward on a track that has been good to the retiring Australian.
Adrian Sutil's good start also saw him holding fourth, while McLaren went backwards as Button complained of problems at both ends of his car.
Up front, Hamilton kept Vettel out of the DRS zone, but on lap 8, it all went wrong for the leading Mercedes. His left rear tyre delaminated on the Wellington Straight, showering Vettel with chunks of rubber.
A couple of laps later, as he attacked Adrian Sutil for third, Massa had a sudden deflation at the beginning of the Wellington Straight, pitching the car off to the outside of the circuit. Like Hamilton, Massa made it back for a tyre change.
On lap 11 Webber pitted for a new wing and tyres, allowing him to really attack. Raikkonen and Ricciardo followed him in a lap later.
Yet another tyre failure occurred on lap 16. Jean Eric Vergne's left rear exploded almost in Raikkonen's face at almost 300km/h at the end of Hangar Straight. The Lotus driver escaped unharmed and the Safety Car was scrambled to clear the debris.
During the Safety Car period, Red Bull radioed to tell Webber that the team had found cuts on Vettel's tyres, leading to speculation the kerbs causing the failures. Massa was brought in by Ferrari for a new set of tyres with higher pressures to reduce heat build-up.
At the restart on lap 22, the order was Vettel, Rosberg, Sutil, Alonso, Raikkonen, with Ricciardo in seventh and Webber ninth.
Webber grabbed the initiative and went around the outside of Perez on the way into Wellington Straight and worked his way through to compatriot Ricciardo.
A three way battle began between Massa, Bottas and Vergne. Canny driving saw Bottas avoid a wide-running Vergne and attacking Massa, the Williams driver going around the outside of the Toro Rosso and pulling away, before Massa passed the Frenchman a few corners later.
Ricciardo was not only staying ahead of Webber, he passed Grosjean on lap 28, leaving the Lotus driver to reckon with Webber. The Australian went around the outside at Brooklands to sweep past without incident.
Alonso's march forward from twelfth nearly came unstuck when Gutierrez's Sauber dropped carbon fibre all over the track. A foam braking marker came loose and blew into the path of the Sauber, damaging the wing in a shower of polystyrene and carbon fibre.
Raikkonen pitted on lap 30 with the hope of running to the end of the 52 lap race. Alonso pitted a lap later, hoping to do the same and Webber pitted on the same lap.
Back in tenth, Hamilton was battling hard with di Resta in ninth, both drivers having dragged themselves from the back after their various tribulations. Raikkonen passed the Mercedes and took Alonso with him and Webber came by a lap later.
Alonso and Raikkonen, however, kept jostling for position, which after all the stops would be for Sutil's third position.
Rosberg came in again on lap 35, piling the pressure on to Red Bull with a 3.2 second stop. Rosberg had a gap of just 1.5 seconds to Vettel. The Red Bull driver came in the next lap with a stop of just 2.6 seconds and he resumed in the lead.
Vergne's race finally ended on lap 37 with a damaged floor from the tyre explosion earlier in the race.
Hamilton pitted on lap 36, coming out to resume his battle with di Resta. The pair swapped places several times on lap 37 and 38, with the Mercedes driver prevailing.
By lap 39, Webber had pulled up behind Kimi Raikkonen who was running third. The gap between Rosberg and Vettel was also down to 1.6 seconds. Vettel responded, pulling out half a second over the next few laps.
Sensationally on lap 42, Vettel's car lost drive as he neared the end of lap 41, bringing out the Safety Car and vaulting Rosberg to the lead and Raikkonen and Webber into contention.
Rosberg was frantically called in by his team for a fresh set of tyres. Webber, too, pitted for new rubber as Vettel trudged down the pit lane.
Raikkonen asked his team why they didn't bring him into the pits, his disconsolate engineer telling him it was too late now that the pack was bunched together.
After the pack had shaken out after pitstops, the order behind the Safety Car was Rosberg, Raikkonen, Sutil, Ricciardo and Webber. The Force India and Toro Rosso had old tyres while Webber was on a fresh set and had authorisation from his team to go for it.
The restart came on lap 46 for a blistering six lap sprint. Webber dispatched Ricciardo and set off after Sutil. Alonso took seventh from Button at Copse. The McLaren driver also had to defend from the other Ferrari who had several goes before finally passing.
Webber got by Sutil for third as Perez pitted after yet another Pirelli blowout. Alonso took on a robustly defending Ricciardo, who also lost out to Hamilton come by.
Webber and Raikkonen battled for second, Webber getting by on lap 48 and taking off after Rosberg who responded with a fastest lap, but only picked up a tenth of a second.
Alonso, who had stopped for new tyres, moved up and took Raikkonen, having driven a stellar race from tenth.
Webber set the fastest lap on lap 50, getting back the tenth he lost, trying to get his car into the DRS zone.
Hamilton, meanwhile, complete his fightback by taking fourth from Raikkonen on the penultimate lap.
Webber continued to close in on Rosberg on the last lap, to within half a second, but the German prevailed.
"I worked hard to manipulate the pace when I had to and then it was Nico and I left at the end. It would have been nice to have had a few more laps, but that's how it was today. It was nearly a really special day, but it was still a nice day," Webber said.
Formula 1 returns next week for the German Grand Prix.
- Nico Rosberg - Mercedes 1h32m59.456s
- Mark Webber - Red Bull-Renault + 0.765s
- Fernando Alonso - Ferrari + 7.124s
- Lewis Hamilton - Mercedes + 7.756s
- Kimi Raikkonen - Lotus-Renault + 11.257s
- Felipe Massa - Ferrari + 14.573s
- Adrian Sutil - Force India-Mercedes + 16.335s
- Daniel Ricciardo - Toro Rosso-Ferrari + 16.500s
- Paul di Resta - Force India-Mercedes + 17.993s
- Nico Hulkenberg - Sauber-Ferrari + 19.700s
- Pastor Maldonado - Williams-Renault + 21.135s
- Valtteri Bottas - Williams-Renault + 25.094s
- Jenson Button - McLaren-Mercedes + 25.968s
- Esteban Gutierrez - Sauber-Ferrari + 26.285s
- Charles Pic - Caterham-Renault + 31.613s
- Jules Bianchi - Marussia-Cosworth + 36.097s
- Max Chilton - Marussia-Cosworth + 1:07.660s
- Giedo van der Garde - Caterham-Renault + 1:07.759s
- Romain Grosjean - Lotus-Renault + 1 laps
- Fastest lap: Webber, 1:33.401
- Sergio Perez - McLaren-Mercedes 47
- Sebastian Vettel - Red Bull-Renault 42
- Jean-Eric Vergne - Toro Rosso-Ferrari 36