Lotus Formula 1 team protege Esteban Ocon cruised to victory in the first race of the Formula 3 European Championship weekend at Moscow Raceway.
The French teenager, who decimated the field in qualifying, appeared content to keep the gap between 1.5 and 2.0 seconds on the way to his sixth win of the year in his Prema Powerteam Dallara-Mercedes, extending his championship lead.
Front-row starter Jordan King took his third successive podium finish with second place in his Carlin Dallara-Volkswagen.
The Briton came under pressure in the latter stages from Max Verstappen, whose run of six consecutive European F3 wins came to an end.
Verstappen, from fourth on the grid, had to fend off Lucas Auer into the first corner, before hunting down Tom Blomqvist.
The Dutchman's Van Amersfoort Racing Dallara-VW speared down the inside of Blomqvist's Carlin machine into the final corner on lap two to swipe third place.
Verstappen and Blomqvist lapped slightly quicker than Ocon and King, taking it in turns to set fastest lap in the middle of the race, but the positions remained unchanged.
Auer kept fifth place for the entire race in the lead Mucke Motorsport Dallara-Mercedes, while Antonio Fuoco dropped away to a lonely sixth in his Prema machine.
Behind them, Nicholas Latifi spent most of the race with Felix Rosenqvist hovering around behind him, but the Canadian made no slip-ups and took seventh.
A great battle for the final points places between Felix Serralles and Jake Dennis ended when Dennis - who had started with a grid penalty carrying over from the Norisring - was given a drive-through penalty for exceeding track limits.
But there was little respite for Serralles, as Gustavo Menezes moved onto his tail, and the duo swapped places twice on the final laps before Serralles narrowly won the fight for ninth.
Results - 24 laps:
Pos Driver Team/Car Time/Gap
1. Esteban Ocon Prema Dallara-Merc 35m47.041s
2. Jordan King Carlin Dallara-VW +1.536s
3. Max Verstappen Van Amersfoort Dallara-VW +2.074s
4. Tom Blomqvist Carlin Dallara-VW +3.645s
5. Lucas Auer Mucke Dallara-Merc +7.254s
6. Antonio Fuoco Prema Dallara-Merc +11.289s
7. Nicholas Latifi Prema Dallara-Merc +19.679s
8. Felix Rosenqvist Mucke Dallara-Merc +20.711s
9. Felix Serralles West-Tec Dallara-Merc +27.745s
10. Gustavo Menezes Van Amersfoort Dallara-VW +28.561s
11. Jules Szymkowiak Van Amersfoort Dallara-VW +31.166s
12. Dennis van de Laar Prema Dallara-Merc +31.736s
13. Antonio Giovinazzi Carlin Dallara-VW +33.429s
14. Tatiana Calderon Jo Zeller Dallara-Merc +38.446s
15. Jake Dennis Carlin Dallara-VW +46.714s
16. Santino Ferrucci Eurointernational Dallara-Merc +53.334s
17. Sean Gelael Carlin Dallara-VW +55.001s
18. Roy Nissany Mucke Dallara-Merc +1m01.097s
19. Hector Hurst West-Tec Dallara-Merc +1m12.677s
20. Michele Beretta Eurointernational Dallara-Merc +1m24.927s