Quartararo was fastest in FP1 but it took only minutes into FP2 before Alex Rins (Team Suzuki Ecstar) bettered it with a 1:31.238 and then Quartararo himself moved the marker even further to a 1:31.149.
The opening 10 minutes of FP2 also saw a spate of crashes, first Franco Moribdelli (Monster Energy Yamaha MotoGP) at Turn 5 then Fabio Di Giannantonio (Gresini Racing MotoGP) at Turn 2, before Marc Marquez (Repsol Honda Team) went down at Turn 1 - his second tumble of the day after going down at Turn 2 in FP1.
Marini was next to take over P1 when he set a 1:31.110 in the 27th minute of the session - but, on used tyres, he was only warming up.
Still, he remained the fastest at the beginning of the final runs, by which time Bagnaia had crept up to seventh despite a couple of detours into run-off areas, and Quartararo had emerged unscathed from a close call going past Darryn Binder (WithU Yamaha RNF MotoGPTM Team) at Turn 13 on the half-hour mark.
Martin struck late to claim second on a 1:30.322 and Miller made it an all-Ducati top three when he improved to a 1:30.345, ahead of Marc Marquez on a 1:30.390 and Enea Bastianini (Gresini Racing MotoGP) in fifth on a 1:30.394. Miguel Oliveira (Red Bull KTM Factory Racing) took sixth on a 1:30.422, ahead of Johann Zarco (Prima Pramac Racing) on a final-lap of 1:30.424.
Quartararo got down to a 1:30.442 on his time attack but it's P8, and Bagnaia finished ninth on that 1:30.447.
Down to the wire
One more free practice session remains before the first 10 Q2 riders are locked in, and neither of the MotoGP Championship contenders are safe yet.
Tune in for a crucial FP3 session on Saturday from 9.55 am local time (2.25pm IST), before qualifying for the Decider reveals one piece of the puzzle as the grid is set from 2.10pm local time (6.40pm IST). Indian audience can catch all the action live on Eurosport channel.