From the front row of the grid Roberts initially slid backwards in the early stages, swamped by a plethora of fast-starting Hondas but as the race wore on he was able to pick his way past a struggling Hayden, Marco Melandri and Casey Stoner to regain fourth spot on the final corner of the 18th lap.
The 2000 World Champion then kept the Honda swarm at bay over the final couple of tours to cross the line two tenths of a second clear of Melandri with Stoner a further half second back in sixth and Suzuki's John Hopkins taking advantage of a last lap banging match between Hayden and the Kawasaki of Shinya Nakano to take seventh.
Hayden's worst race of the year was completed when Nakano got the better of him for eighth place on the final corner although with Capirossi and Rossi claiming the top two spots, Pedrosa only gained nine points on his fellow Repsol Honda rider in the overall standings to minimise the damage. With five races remaining Hayden leads Pedrosa by 25 points with Rossi 38 back, Melandri 40 back and Capirossi 50 in arrears.
Rossi's teammate Edwards ran as high as fifth in the early stages but slipped back during the mid portion of the race and found himself struggling to stay on the rear of the fourth place battle during the closing laps.
Toni Elias finished eleventh, leading home another close battle between himself, Chris Vermeulen and Makoto Tamada while Randy De Puniet on the second Kawasaki just held off Carlos Checa for 14th spot.
Alex Hofmann just missed out on a point on the second factory Ducati with James Ellison and Ivan Silva completing the list of finishers.
Jose Luis Cardoso was the only one of the 19 starters not to make the finish, pulling in with mechanical bothers after half a dozen laps and while critics may point to a low bike count in the MotoGP class at present, on Sunday's form 19 bikes is more than enough to keep everyone entertained.