Lorenzo, was now the man of the moment, taking third from Hayden at turn one with two laps to go, then muscling Dovizioso out of second later in the lap for a Fiat Yamaha one-two.
Dovizioso's Honda had fearsome top speed, but Lorenzo defied his hand injury to hold off Dovi under braking for turn one - while Hayden snatched third from the Italian, who replaced him at Repsol Honda at the end of 2008, with just a few turns to go.
But Dovizioso held his nerve, got a smooth exit of the final turn then drafted past Hayden on the run to the line to take the final podium place by just 0.011sec.
Ben Spies fought his way forward from eleventh on the grid to claim a commendable fifth position - making him the top rookie and satellite rider - as the reigning World Superbike champion got to within 3.9sec of victory for Monster Yamaha Tech 3.
LCR Honda's Randy de Puniet dropped from fourth to ninth on lap one, before climbing back up the order to sixth, while Pedrosa deserved better than seventh after his early heroics.
Colin Edwards dropped to eleventh at the start and could only recover to eighth on the second Tech 3 machine, while Loris Capirossi – riding with the #300 to mark his record 300th grand prix start - was the only Rizla Suzuki rider to finish, in ninth.
Second-best rookie behind Spies, and the top rider without a previous MotoGP start, was reigning 250cc world champion Hiroshi Aoyama, who repeated his tenth on the grid at the end of the 21 laps for Interwetten Honda.
Former quarter-litre rival Marco Simoncelli ten seconds further behind for San Carlo Honda Gresini, with fellow rookie Hector Barbera less than one second behind in the Aspar Ducati's team's first ever premier-class race.
A lonely 13th and last was Simoncelli's experienced team-mate Marco Melandri, whose miserable Honda comeback continued in the race.
Joining Stoner in crashing out were Pramac Ducati riders Mika Kallio and Aleix Espargaro, plus Suzuki's rookie Alvaro Bautista - who also fell in qualifying and the warm-up.