Marc Marquez defied the pain of a dislocated shoulder to extend his lead in the MotoGP world championship to 30 points at Silverstone.
The Repsol Honda rider had crashed during the morning warm-up at the Northamptonshire circuit but was able to finish second in the race behind defending champion Jorge Lorenzo on the factory Yamaha.
Lorenzo had grabbed the lead going into the first turn when he forced his way past Marquez who had started from pole position.
Lorenzo led the race until lap 18 of 20 when Marquez battled past. Lorenzo grabbed the lead back a lap later and despite being passed on the final lap he was still able to overtake his title rival a final time in the last corner.
Third place went to Marquez's team-mate Dani Pedrosa, who lies second in the points table, 30 points behind Marquez and nine in front of Lorenzo.
"I am so happy because after my crash in the warm-up I thought my weekend was finished" - Marc Marquez
Marquez said: "I am so happy because after my crash in the warm-up I thought my weekend was finished.
"The doctors did a very good job, in the beginning the pain was not so bad because I had an injection and took some pills but at the end of the race I was quite tired."
British rider Cal Crutchlow, who had crashed twice in Saturday practice before qualifying third-fastest, finished a disappointing seventh in the race.
Crutchlow also crashed during Sunday morning warm-up and he was then involved in a collision with Marquez in the crash which saw the latter injure his left shoulder.
Crutchlow, originally from Coventrty but now living on the Isle of Man, remains fifth in the standings and his Monster Tech 3 Yamaha team-mate Bradley Smith, from Oxford, is 11th after finishing the race in ninth.
Scott Redding won the Moto2 race to increase his world champions points lead.
The Marc VDS rider led from the first turn after taking over from Takaaki Nakagami who began the race from pole position.
Redding controlled the race for 11 of the 18 laps until Nakagami took the lead from him on the Italtrans Racing machine.
But Redding was not done and claimed his third race win of the season when he retook the lead with four laps remaining.
Nakagami took second after fighting off the attentions of Tom Luthi, allowing Redding to stretch his advantage to just over a second at the finish.
Redding moved 38 points clear in the title race over Pol Espargaro who could only finish the race in eighth.
Redding, from Gloucestershire, said: "To get a home win is absolutely amazing. The atmosphere from the crowd was pushing me on."