Valtteri Bottas left it until his final lap of the delayed and shortened second free practice session for the Macau Grand Prix to set the quickest time.
He showed closest rival and provisional pole position man Edoardo Mortara that there will be a big fight for pole position in the afternoon's final qualifying.
Bottas and Mortara have topped the timesheets in every session held so far this weekend, and the duo were once again clear at the front as they traded fastest times throughout final practice.
The start of practice had to be delayed while repairs were made to the track following a crash in an early qualifying session for a support race, and F3 teams subsequently agreed to shorten the originally scheduled 45-minute session down to 30 minutes.
Once proceedings got underway, Bottas and Mortara quickly established benchmark times. At the mid-way point of the session, Mortara delivered his best effort shortly before Rio Haryanto brought out a red flag when he crashed into the barrier on the exit of the final turn.
At the restart, Bottas and Mortara both pushed hard to improve on their times - but it was Bottas who did the best job as he set his best lap on the final lap of the session to end it six tenths quicker than his closest rival.
Mortara's Signature team-mate Marco Wittmann was third fastest, ahead of Carlos Huertas - who found out this morning that he has been handed a five-place grid penalty for infringing the yellow flag regulations during Thursday's first qualifying session.
There were a number of incidents throughout the session, with Carlin's James Calado crashing at Fishermen's Bend and Will Buller also brushing the barrier at the same corner. And, as well as Haryanto's incident, Carlos Munoz went straight on into the barrier at Police.
Pos Driver Team Car Time Gap Laps
1. Valtteri Bottas Prema D/M 2m11.080s 9
2. Edoardo Mortara Signature D/V 2m11.694s +0.614 10
3. Marco Wittmann Signature D/V 2m12.511s +1.431 10
4. Carlos Huertas Hitech D/V 2m12.944s +1.864 10
5. Roberto Merhi Prema D/M 2m13.064s +1.984 8
6. Jean-Eric Vergne Carlin D/V 2m13.214s +2.134 10
7. Renger van der Zande Motopark D/V 2m13.281s +2.201 7
8. Laurens Vanthoor Signature D/V 2m13.317s +2.237 10
9. Alexander Sims Raikkonen D/M 2m13.553s +2.473 9
10. Antonio Felix da Costa Carlin D/V 2m13.643s +2.563 10
11. Felix Rosenqvist Performance D/V 2m13.680s +2.600 9
12. Daniel Abt Signature D/V 2m13.753s +2.673 9
13. Alexandre Imperatori Toda D/H 2m13.862s +2.782 10
14. Daniel Juncadella Prema D/M 2m13.977s +2.897 7
15. Yuji Kunimoto TOM's D/T 2m14.070s +2.990 10
16. Felipe Nasr Raikkonen D/M 2m14.111s +3.031 9
17. Jazeman Jaafar Carlin D/V 2m14.323s +3.243 10
18. William Buller Fortec D/M 2m14.478s +3.398 9
19. Yuhi Sekiguchi Three Bond D/N 2m14.715s +3.635 9
20. James Calado Carlin D/V 2m14.750s +3.670 3
21. Kimiya Sato Motopark D/V 2m14.863s +3.783 9
22. Rio Haryanto Raikkonen D/M 2m15.113s +4.033 6
23. Hideki Yamauchi Hanashima D/T 2m15.119s +4.039 4
24. Carlos Munoz Hitech D/V 2m15.174s +4.094 6
25. Oliver Webb Fortec D/M 2m15.203s +4.123 9
26. Hywel Lloyd CF/Manor D/M 2m15.610s +4.530 10
27. Lucas Foresti Fortec D/M 2m15.880s +4.800 10
28. Rafael Suzuki TOM's D/T 2m16.219s +5.139 10
29. Adderly Fong Sino Vision D/M 2m16.845s +5.765 10
30. Michael Ho Raikkonen D/M 2m16.956s +5.876 10