The win, gifted to him by Red Bull after world champion Sebastian Vettel was slowed by a wheelnut problem at his second pitstop, was the 27th of Alonso's career and lifted him level with the great Jackie Stewart in fifth position in the all-time lists.
"I had two laps today with that (1951) car before the parade," said Alonso of Argentine Jose Froilan Gonzalez's historic Ferrari.
"Now 60 years later in the same circuit, with the same atmosphere and the same passion, winning again. I'm very proud...it made a special day."
Vettel had hoped to chalk up a seventh win in nine races but still extended his overall lead over Webber, last year's winner at Silverstone who has yet to lead a lap this season, to 80 points from a previous 77.
Alonso took the lead on the 28th of the 52 laps when he pitted right behind Vettel, who had grabbed the lead off the grid. As the German's crew battled with the wheelgun, the Spaniard slipped past and was gone.
"It's hard to say how much we lost but surely we lost the lead. I think we had quite a cushion at that stage," said Vettel, who has still dropped only 21 points out of a possible 225, of the pitstop drama.
"I think you have to accept fair and square that Ferrari beat us today...I think it shows us that we have to keep working and pushing very hard."
Red Bull team boss Christian Horner recognised afterwards that "obviously Mark disagreed" with the order not to pass Vettel.
McLaren's Jenson Button's home-race jinx continued with the 31-year-old's hopes also wrecked by a wheelgun when he was waved away before the right front nut had been secured 12 laps from the end.
With the wheel wobbling wildly, he parked up at the pit lane exit and walked back to the garages without speaking to reporters.
The Briton has never yet stood on the F1 podium at Silverstone in 12 attempts.
Vettel, who crossed the line over 16 seconds behind Alonso, retains the lead in the drivers' championship on 204 points from Webber on 124 with Alonso moving up into third on 112.
Massa finished fifth ahead of German Nico Rosberg in a Mercedes, Mexican Sergio Perez for Sauber and German Nick Heidfeld of Renault.
The seven-times champion German Michael Schumacher, 42, came home ninth for Mercedes and Spaniard Jaime Alguersuari was 10th for Toro Rosso.
1. Fernando Alonso (Spain) Ferrari 1:28:41.196
2. Sebastian Vettel (Germany) RedBull - Renault +00:16.511
3. Mark Webber (Australia) RedBull - Renault 00:16.947
4. Lewis Hamilton (Britain) McLaren 00:28.986
5. Felipe Massa (Brazil) Ferrari 00:29.010
6. Nico Rosberg (Germany) Mercedes 01:00.665
7. Sergio Perez (Mexico) Sauber - Ferrari 01:05.590
8. Nick Heidfeld (Germany) Renault 01:15.542
9. Michael Schumacher (Germany) Mercedes 01:17.912
10. Jaime Alguersuari (Spain) Toro Rosso - Ferrari 01:19.108
11. Adrian Sutil (Germany) Force India-Mercedes 01:19.712
12. Vitaly Petrov (Russia) Renault 01:20.681
13. Rubens Barrichello (Brazil) Williams - Cosworth 1 lap
14. Pastor Maldonado (Venezuela) Williams - Cosworth 1 lap
15. Paul Di Resta (Britain) Force India - Mercedes 1 lap
16. Timo Glock (Germany) Virgin - Cosworth 2 laps
17. Jerome d'Ambrosio (Belgium) Virgin - Cosworth 2 laps
18. Vitantonio Liuzzi (Italy) HRT - Cosworth 2 laps
19. Daniel Ricciardo (Australia) HRT - Cosworth 3 laps