But Marco ran slightly wide at the hairpin, allowing Rossi to cut back inside and it was now the Camel Yamaha's turn to take a defensive line into the tricky off-camber last corner. Melandri opted for the traditional racing line and, although able to carry superior speed into the apex, Rossi was able to keep a tight line and there was simply no room for Melandri to pass.
Meanwhile, Pedrosa had raced across the finish line 3.8secs before Rossi - after backing off substantially in the closing stages - to claim his second win of the season and cut the gap to team-mate, and championship leader, Nicky Hayden from 42 points to 26 after the Kentuckian finished in seventh position.
Like Rossi, Hayden had struggled in qualifying and had started from just 11th on the grid - but initially made better progress, rising to seventh as early as lap five, before missing his braking point for the Fogarty Esses on lap 7 - while trying to work his way around Chris Vermeulen - and losing four positions.
Just as at Assen one week ago, Nicky was then stuck behind countryman Colin Edwards but, unlike at Assen – where they were fighting for the lead - Nicky was unable to find a way past the Camel Yamaha rider. The pair rose through the pack together, with Edwards finishing in sixth and Hayden seventh.
Among those that the pair demoted along the way was the third injured Italian, Loris Capirossi, who brought his Ducat Marlboro machine home in ninth, one place behind early contender Hopkins.
All of which means that Hayden and Pedrosa continue to lead the championship standings, but Rossi has now moved ahead of Capirossi to take third in the standings - 35 rather than 46 points from the top - with Melandri four points further back in fourth and Capirossi 46 points from Hayden in fifth.
Rossi later said that his second place was "like a victory" and the thousands of British fans chanting "Rossi, Rossi, Rossi" below the podium clearly felt the same.
British Grand Prix:
12. de Puniet