Rossi overtook his fellow Italian at the end of the lap, to roars of approval from the 95,000 fans, then set about bridging the three second gap to
Toni Elias. The Doctor demoted the Alice rider with four laps remaining, but eleventh was as high as the #46 could climb.
Rossi is now four points behind Pedrosa and 25 ahead of Stoner.
Fifth place went to JiR Team Scot's
Andrea Dovizioso, who had qualified just eleventh on the grid, while fellow rookie
Jorge Lorenzo delivered some impressive closing laps to cross the line just behind his former 250GP rival on the Michelin-shod Fiat Yamaha.
Chris Vermeulen held fourth in the early stages, but eventually brought the sole Rizla Suzuki home in seventh, with
Shinya Nakano eighth and
James Toseland - who suffered an almost identical accident to Rossi on the first lap of last Sunday's British Grand Prix - ninth.
Sylvain Guintoli finished where he started, in tenth, but was all over Toseland's Tech 3 Yamaha on the final lap.
Alice team-mate Elias, ruled out of the three previous Dutch TTs due to injuries, finished his first
MotoGP class race at Assen in twelfth, with Melandri 13th and last.
Dutch TT:
1. Stoner
2. Pedrosa
3. Edwards
4. Hayden
5. Dovizioso
6. Lorenzo
7. Vermeulen
8. Nakano
9. Toseland
10. Guintoli
11. Rossi
12. Elias
13. Melandri