Antonio Felix da Costa claimed his second Macau Grand Prix victory after passing early leader Sergio Sette Camara on the restart after a safety-car period.
The Portuguese started from pole position following his win in Saturday's qualification race, but could not survive the slipstream down to Lisboa.
Second-on-the-grid Callum Ilott got the jump into the Reservoir kink, before Sette Camara towed both front-row starters to move into the lead at Mandarin Oriental.
Red Bull Junior Sette Camara then emerged from a three-abreast moment with da Costa and Ilott to lead out of Lisboa.
Sette Camara looked to be coming under pressure from the sister Carlin Dallara-Volkswagen of da Costa when the safety car came out after four laps due to a Nikita Mazepin crash at the Paiol left-hander.
At the restart, da Costa repeated his move on Ilott from Saturday's race, dragging past on the outside to lead into Lisboa.
Meanwhile, Felix Rosenqvist had worked his way from sixth on the grid into third.
The Prema Powerteam Dallara-Mercedes ace had benefited from the top three's side-by-side moment on the first lap that sent Ilott wide, and allowed Kenta Yamashita up to third and Rosenqvist to fourth.
Rosenqvist then passed Yamashita's T-Sport Dallara-Tomei into Lisboa on the third lap; Ilott also squeezed down the inside and, despite a touch with Yamashita, moved into fourth place at San Francisco Bend.
After 10 laps, the race went under caution again due to Nick Cassidy, who had worked his way from 28th on the grid after an engine change to 11th, crashing in the same spot as Mazepin.
That left three laps of action remaining, and da Costa was able to get a good enough restart to repel Sette Camara's bid on the outside line into Lisboa.
Sette Camara had a slide further around the lap at Fisherman's Bend, and Rosenqvist got close enough to make an outside pass on the Brazilian into Lisboa.
Rosenqvist had just under two laps to catch da Costa. The Swede set fastest lap on the penultimate tour, but da Costa held firm and crossed the line 1.603 seconds in front.
There was more action between Yamashita and Ilott after the second restart, the Japanese champion snatching fourth position back from the Van Amersfoort Racing man with more contact between the pair.
The Hitech GP duo of top qualifier George Russell and Daniel Juncadella appeared to lack pace.
Both were passed by Jake Hughes, the Carlin driver denying Russell of the honour of top Macau rookie and taking sixth place.
VAR's Pedro Piquet completed by far the best weekend of his F3 career by finishing ninth, with Double R Racing's Alexander Sims rounding out the top 10 and Carlin youngster Lando Norris charging from 26th on the grid to 11th.
Dan Ticktum and David Beckmann ran in the top 10 early on, but incidents put Ticktum out of the race and dropped Beckmann down the order.
RESULTS - 15 LAPS:
|1||Antonio Felix da Costa||Carlin||Dallara/Volkswagen||37m57.447s|
|2||Felix Rosenqvist||SJM Theodore Racing by Prema Powerteam||Dallara/Mercedes||1.603s|
|3||Sergio Sette Camara||Carlin||Dallara/Volkswagen||3.194s|
|4||Kenta Yamashita||ThreeBond with T-Sport||Dallara/Threebond||3.862s|
|5||Callum Ilott||Van Amersfoort Racing||Dallara/Mercedes||4.348s|
|9||Pedro Piquet||Van Amersfoort Racing||Dallara/Mercedes||9.361s|
|10||Alexander Sims||Double R Racing||Dallara/Mercedes||11.294s|
|12||Andy Chang||ThreeBond with T-Sport||Dallara/NBE||15.101s|
|13||Anthoine Hubert||Van Amersfoort Racing||Dallara/Mercedes||15.520s|
|14||Tadasuke Makino||Toda Racing||Dallara/Toda||17.674s|
|15||Guan Yu Zhou||Motopark||Dallara/Volkswagen||17.913s|
|17||Sam MacLeod||Fortec Motorsports||Dallara/Mercedes||19.081s|
|18||Keyvan Andres||KFZTeile24 Mucke Motorsport||Dallara/Mercedes||19.972s|
|19||David Beckmann||KFZTeile24 Mucke Motorsport||Dallara/Mercedes||20.325s|
|20||Jann Mardenborough||B-MAX Racing Team||Dallara/Volkswagen||22.895s|
|22||Daiki Sasaki||B-MAX Racing Team||Dallara/Volkswagen||2 Laps|
|-||Nick Cassidy||SJM Theodore Racing by Prema Powerteam||Dallara/Mercedes||Retirement|
|-||Dan Ticktum||Double R Racing||Dallara/Mercedes||Retirement|
|-||Ferdinand Habsburg||Fortec Motorsports||Dallara/Mercedes||Retirement|
|-||Maximilian Gunther||SJM Theodore Racing by Prema Powerteam||Dallara/Mercedes||Retirement|
|-||Hong Li Ye||B-MAX Racing Team||Dallara/Volkswagen||Withdrawn|