Stefan Bradl stretched his Moto2 championship lead yet further with a commanding win at a very wet Silverstone - but the hero of the race was home rider Bradley Smith, who came through from 28th on the grid to take his first podium in the series in second.
It was another British rider who starred early on, as Scott Redding pounced when fast-starting leader Bradl had a moment on the way out of Stowe on the opening lap.
Redding managed to lead for the first four laps, though he could not shake Bradl off and the German was eventually able to move back ahead into Copse.
By that time both were coming under pressure from the flying Mattia Pasini, who had charged through the field from 22nd for the new Ioda team. On lap six he sliced past Bradl to take the lead - but he was in front for less than two laps before crashing out under braking for Vale.
Bradl was free to dominate from there onwards, as attention turned to Smith's incredible charge. Left only 28th on the grid thanks to electrical problems yesterday, he made up 13 places on the first lap alone, was into the top six by lap four, and past Redding for third on lap seven.
Kenan Sofuoglu was second at that stage, having also got past Redding, but when the Technomag-CIP rider fell at Club with six laps to go, Smith was able to move up to a glorious second.
Michele Pirro claimed his first podium with a very strong ride to third, as Redding slipped to fifth behind Jules Cluzel.
Esteve Rabat and Yuki Takahashi were next up, followed by the recovering Sofuoglu. The latter's team-mate Randy Krummenacher was also a podium contender at first, but went off the road at Vale when Raffaele de Rosa ran into him into a misjudged passing attempt.
Polesitter Marc Marquez rapidly dropped down the order in the wet conditions and was running 13th when he crashed at Vale.
Results - 18 laps: Pos Rider Team/Bike Time/Gap 1. Stefan Bradl Kiefer Kalex 44m10.236s 2. Bradley Smith Tech 3 + 7.601s 3. Michele Pirro Gresini Moriwaki + 12.241s 4. Jules Cluzel Forward Suter + 17.271s 5. Scott Redding Marc VDS Suter + 23.531s 6. Esteve Rabat Blusens-STX FTR + 28.661s 7. Yuki Takahashi Gresini Moriwaki + 32.391s 8. Kenan Sofuoglu Technomag-CIP Suter + 34.662s 9. Yonny Hernandez Blusens-STX FTR + 37.181s 10. Simone Corsi Ioda FTR + 38.981s 11. Randy Krummenacher Kiefer Kalex + 39.657s 12. Max Neukirchner MZ + 51.622s 13. Kev Coghlan Castello FTR + 54.810s 14. Alex Baldolini Forward Suter + 56.242s 15. Thomas Luthi Interwetten Suter + 1m00.769s 16. Andrea Iannone Speed Master Suter + 1m06.198s 17. Mike di Meglio Tech 3 + 1m19.530s 18. Aleix Espargaro Pons Kalex + 1m27.092s 19. Javier Fores Aspar Suter + 1m29.849s 20. Dominique Aegerter Technomag-CIP Suter + 1m30.338s 21. Raffaele de Rosa SAG FTR + 1m57.792s 22. Valentin Debise Speed Up FTR + 2m11.104s 23. Robertino Pietri Italtrans Suter + 2m29.168s 24. Mashel Al Naimi QMMF Moriwaki + 1 lap 25. Nasser Hasan Al Malki QMMF Moriwaki + 1 lap Retirements: Pol Espargaro Speed Up FTR 16 laps Anthony West MZ 14 laps Kenny Noyes Avintia-STX FTR 14 laps Claudio Corti Italtrans Suter 13 laps Alex de Angelis JIR Motobi 11 laps Xavier Simeon Tech 3 10 laps Carmelo Morales G22 Moriwaki 8 laps Ratthapark Wilairot SAG FTR 8 laps Marc Marquez Repsol Suter 7 laps Mattia Pasini Ioda FTR 6 laps Mika Kallio Marc VDS Suter 6 laps Jordi Torres Aspar Suter 3 laps Axel Pons Pons Kalex 0 laps