World champion Marc Marquez has won his ninth race of the season in Malaysia as Rossi was left to lament what could have been.
Suzuki's Alex Rins came in second after overtaking Yamaha rider Johann Zarco, who finished third, in the final stage of the race at Sepang.
Nine-time world champion Rossi, second on the grid, looked to be heading for his first win in Malaysia since 2010 as he dominated the early stages.
However Marquez, who qualified in pole position but was hit with a six-place grid penalty for impeding another rider, slowly worked his way through the pack.
But as he rounded a sharp turn on the 16th lap, Yamaha rider Rossi leaned over too far and tumbled off his bike - effectively handing victory to his 25-year-old foe.
Ducati's Andrea Dovizioso, the victor in Malaysia in 2016 and 2017, could only manage sixth but retains second place in the overall standings, with Rossi's crash leaving the Italian in third with one race remaining in Valencia.
Ryanair concede "periodo de gracia" para aplicar nueva política de equipajes
Este servicio tiene un precio de ocho euros si se paga en el momento de la reserva y de diez si se añade después o si se realiza el pago en el mostrador.
"I was pushing hard and starting to catch Vale but when I saw his mistake then I cooled down and just finished the race", said Marquez.
"Of course maybe I disturbed him, if get penalised or not I don't know, race direction will decide, but you know I tried to avoid [impeding anyone], this is only what I can say, I didn't see".
The three-time MotoGP World Champion has sat out the previous three race weekends due to the free practice crash from Thailand.
Italian Andrea Dovizioso was sixth behind Honda's Dani Pedrosa to ensure he will finish second in the championship ahead of Rossi, who crossed the line in 18th.
The Honda rider, who sealed the 2018 MotoGP title back in Motegi, outpaced the rest of the field by more than half a second in the rain-delayed wet-weather qualifying session.
Malaysia saw Marc Marquez claim first place in MotoGP as Valentino Rossi fell, allowing the eventual victor to take full advantage while there was disappointment for Andrea Dovizioso and Ducati.