Ducati rider Bagnaia had crashed out in four of the previous 10 races this year, but he took full advantage of pole position on Sunday by comfortably holding on to first place.
Quartararo endured a rare off day in Assen, the Monster Energy Yamaha rider finishing outside the points after twice crashing to see his championship lead cut.
Bagnaia is now 66 points behind the Frenchman heading into the five-week break, while Aleix Espargaro is within 21 points of top spot after making an exceptional recovery.
The drama at Circuit Assen started at Turn 5 when Quartararo, in an attempt to take second place from Espargaro, collided with his rival in a hugely contentious moment.
Both riders ended in the gravel before rejoining. But while Espargaro brilliantly made up ground, Quartararo was left with too much to do and crashed for a second time.
The reigning world champion high-sided out of Turn 5 and landed awkwardly, bringing an end to his race and marking his first MotoGP™ retirement since Valencia in 2020.
The rain started to fall soon after, adding even more drama to a race that had it all, though ultimately Bagnaia saw things through by holding off Marco Bezzecchi.
Miller was then overtaken by Espargaro, who also moved in front of Brad Binder to climb from sixth to fourth in an exceptional final lap as the title race was blown wide open.
1. Francesco Bagnaia (Ducati)
2. Marco Bezzecchi (Mooney VR46) +0.444s
3. Maverick Vinales (Aprilia) +1.209s
4. Aleix Espargaro (Aprilia) +2.585
5. Brad Binder (Red Bull KTM) +2.721s
6. Jack Miller (Ducati) +3.045s
7. Jorge Martin (Pramac Racing) +4.340s
8. Joan Mir (Suzuki Ecstar) +8.185s
9. Miguel Oliveira (Red Bull KTM) +8.325s
10. Alex Rins (Suzuki Ecstar) +8.956s
1. Fabio Quartararo (Monster Energy Yamaha) 172
2. Aleix Espargaro (Aprilia) 151
3. Johann Zarco (Pramac Racing) 114
4. Francesco Bagnaia (Ducati) 106
5. Enea Bastianini (Gresini) 105
1. Aprilia Racing 213
2. Monster Energy Yamaha 197
3. Ducati 197
4. Pramac Racing 184
5. Red Bull KTM 164