Vinales went into this eighth leg of the season in Assen leading the 2017 championship, but after making up ground from 11th on the grid to fifth.
Vinales went into this eighth leg of the season in Assen leading the 2017 championship, but after making up ground from 11th on the grid to fifth, he crashed out on lap 12.
The Yamaha rider leaves the circuit known as 'the cathedral of speed' trailing Andrea Dovizioso, who took fifth, by four points.
Rossi's 10th win at the track lifted him into third, only three points away with defending champion Marc Marquez breathing down his neck, four points behind in the tightest championship battle since the current points system was introduced in 1993.
Rossi had to call on all his skill and strength in his 20th season to get the better of his compatriot Danilo Petrucci, who briefly passed Rossi before the Italian grabbed the lead back four laps out.
The sport's headline act crossed the line barely the length of his Yamaha bike in front of Petrucci, who was only six years old when Rossi lined up for his first ever grand prix in 1996.
"This place is always special," beamed Rossi.
"The track is fantastic. There are always lots of people around, I'm excited for me and my team - back in first place, a great race."
"I race with motorcycles for this feeling: for what I feel in the five or six final laps of the race. That‘s always great and especially after a year without a victory."
His teammate Vinales was left bemused by his spill, which thankfully he escaped from unscathed whilst bits of his bike littered the track.
"I can't explain what happened, because I don‘t even know why I crashed. I passed there 2000 times, but today was the day," he said.
Marquez came in third ahead of Briton Cal Crutchlow and Dovizioso.
The surprise pole sitter, MotoGP rookie Johann Zarco, manfully fought off Marquez's attack to the first corner but Yamaha Tech's French rider then lost ground before pitting to change to wet tyres and finished 14th.
Zarco held control until he was overtaken by Rossi on lap 12, only to lose his gamble on the track when hit by a downpour.
Despite the disappointment of failing to capitalise on his superb performance in qualifying on Saturday, Zarco can take consolation from at least finishing in front of a three-time former world champion, Jorge Lorenzo.
Lorenzo had a weekend to forget, being relegated to the penultimate row of the grid and had to settle for 15th.
Rossi meanwhile was already looking forward to the next instalemnt of the 2017 title showdown.
"Everything is open and this year we discovered that, from one track to the other, the situation can change a lot. We have to wait for next week and try to be competitive also at the Sachsenring."
Franco Morbidelli won the Moto2 Grand Prix, the Italian Kalex rider making it five wins from eight races as he crossed the line clear of Thomas Luthi with Japan's Takaaki Nakagami taking third.
Morbidelli now has a 12-point advantage over Luthi in the title battle with Alex Marquez, brother of MotoGP champion Marc Marquez, in third 23 points away.
Aron Canet won the Moto3 race to follow up his breakthrough win in Spain last month.
The 17-year-old hit the front on the last lap to deny Romano Fenati and Briton John McPhee, with all three riding Hondas.
The Spanish teenager is now only 30 points behind his compatriot Joan Mir who finished ninth.