The eight time MotoGP winner had insisted the 'shaking' remained, even after taking pole, but he is clearly far more competitive and will use the test on Monday to try further new parts.
Behind the top three, Nicky Hayden beat factory Ducati team-mate Casey Stoner for the first time in a race they have both finished. The American matched his round one result of fourth, but was disappointed to be much further from victory, while Stoner - just one second behind Hayden - felt his pace just hadn't improved enough throughout the weekend.
Sixth and 23sec from victory was Pedrosa's team-mate Andrea Dovizioso, with Mika Kallio putting in a stunning ride from 17th and last to seventh for Pramac Ducati. The Finn was also the top satellite rider, although he finished just a few tenths clear of San Carlo Honda Gresini's Marci Melandri, who was looking more like his old self.
LCR Honda's Randy de Puniet suffered with a bad start on his way to ninth, with Alvaro Bautista the top rookie home, in tenth place for Rizla Suzuki and just a few tenths clear of Melandri's team-mate Marco Simoncelli.
Five of the last six riders to finish were rookies, the exception behind Monster Yamaha Tech 3's Colin Edwards, who could only manage twelfth place – between Simoncelli and Aspar Ducati's Hector Barbera.
Edwards' team-mate and reigning World Superbike champion Ben Spies suffered his first DNF as a MotoGP rider after a mysterious front tyre problem prompted him to pull into the pits at the end of lap nine. Spies had made a strong start to hold sixth on lap one before dropping back.
Loris Capirossi crashed from his Rizla Suzuki while eighth at the end of lap eight, while Pramac Ducati's Aleix Espargaro made a pit stop for repairs before continuing.
Spanish Grand Prix:
9. de Puniet