Rossi's third victory in a row means he is now a near unstoppable 75 points clear of Stoner, with just five rounds and 125 points remaining.
Joining Rossi and Lorenzo on the podium was Toni Elias, who took his second rostrum in a row from a season's best fifth on the grid. The Alice Ducati rider fought back from a slow start to overtake countryman Pedrosa for fourth into turn one on lap 6, which then became third place after Stoner's fall.
Pedrosa, riding in what is heavily rumoured to have been his last race on Michelin tyres, slipped from his early second position to a distant fourth at the finish, 17 seconds behind Rossi and six behind Elias, although the former world championship leader is now just two points behind Stoner in the standings.
Rizla Suzuki's Chris Vermeulen, like Rossi, came close to falling on the opening lap and although he kept his GSV-R on two wheels the Australian's close shave cost him heavily. Vermeulen then regrouped and went on to win a four-rider fight for fifth against James Toseland, Loris Capirossi and Andrea Dovizioso by the closing stages.
Toseland, Capirossi and Dovizioso fought right to the flag, with Capirossi - riding in a record-breaking 277th grand prix - diving under the reigning double World Superbike champion on the last lap. However, Toseland - starting just his 13th grand prix - cut back underneath and was able to hold a career-best equalling sixth at the line.
JiR Honda rider Dovizioso advanced six positions from his lowly starting position and finished seven seconds ahead of countryman Marco Melandri, on the surviving Ducati Marlboro machine, with Colin Edwards tenth for Tech 3 on a day when the top ten riders alternated perfectly between Bridgestone and Michelin.
Elias' team-mate Sylvain Guintoli finished eleventh, ahead of the Bridgestone-shod factory RC212V of Shinya Nakano, whilst Kawasaki riders John Hopkins and Anthony West finished where they had started - at the back of the field - but were at least in the points due to retirements ahead.
Joining Stoner on the DNF list were Randy de Puniet and Alex de Angelis. de Puniet's race lasted only slightly longer than one year ago as he fell from fifth place at the end of the first lap, while de Angelis retired from his home event shortly after.
Nicky Hayden withdrew from the event on Sunday morning, his recent heel injury having got progressively worse throughout the weekend. Hayden will now attempt to regain fitness in time for his second home race of the season, the inaugural Red Bull Indianapolis Grand Prix on September 14.
San Marino Grand Prix:
1. Rossi
2. Lorenzo
3. Elias
4. Pedrosa
5. Vermeulen
6. Toseland
7. Capirossi
8. Dovizioso
9. Melandri
10. Edwards
11. Guintoli
12. Nakano
13. West
14. Hopkins