Hopkins started from the front and once he got clear of Honda rivals Pedrosa and Marco Melandri he chased down Stoner and Rossi to finish a close third.
Hopkins dedicated his podium to his late father Roy, who died just over ten years ago. "My dad was watching over me today and he helped get me to the finish," Hopkins said.
"I was a bit frustrated when Casey and Valentino were pulling away and it was just a matter of hanging onto them. They were running a tremendous pace."
Hopkins was just one of seven riders using Bridgestone tires to finish in the top ten, again demonstrating that Michelin have a real fight on their hands.
Pedrosa was the first Honda home, ahead of Melandri in fifth, Loris Capirossi (Ducati) sixth with Chris Vermeulen (Suzuki) in seventh despite the pain of a gashed right toe.
The top ten was completed by Kawasaki rider Randy de Puniet in eighth, Alex Hofmann (ninth) and Spaniard
Carlos Checa (Honda) in tenth.
Americans Colin Edwards and Nicky Hayden had forgettable races, finishing 11th and 12th respectively. Edwards suffered rear tire problems after qualifying on the front row: "I don't have too much positive to say. From the start I had no rear grip, I want to forget this race and look forward to Le Mans."
After starting ninth, Hayden's Honda was hit from behind in turn one by the similar bike of Toni Elias and suffered damage to the swingarm and bodywork.
"I got drilled from behind and I was lucky to stay on the bike," Hayden said. "I was out of the saddle, then my feet were dragging on the ground, and I was pretty much cowboying it through the dirt and trying to not come back on the track in the middle of the bunch. By the time I was pointing the right way everybody was gone."
Hayden is now ninth in the standings with 30 points. Kenny Roberts Jr picked up the last championship point by finishing fifteenth.