| Fin | Driver | Team | Rating Δ | Rating |
|---|---|---|---|---|
| P1 | Kean Nakamura-Berta | Prema Racing | +74 | 5,125 |
| P2 | Rashid Al Dhaheri | R-ace GP | +106 | 4,459 |
| P3 | Sebastian Wheldon | MP Motorsport | +91 | 4,513 |
| P4 | Zhenrui Chi | MP Motorsport | +97 | 4,291 |
| P5 | Reno Francot | CL Motorsport | +99 | 4,121 |
| P6 | Maksimilian Popov | Trident Motorsport | +82 | 4,200 |
| P7 | Alexander Abkhazava | MP Motorsport | +147 | 3,203 |
| P8 | Kai Daryanani | Trident Motorsport | +88 | 3,854 |
| P9 | Miguel Costa | RPM | +70 | 3,945 |
| P10 | Yuki Sano | R-ace GP | −9 | 4,904 |
| P11 | Salim Hanna | Prema Racing | +13 | 4,397 |
| P12 | Alex Ninovic | Rodin Motorsport | −31 | 4,912 |
| P13 | Dion Gowda | Van Amersfoort Racing | +8 | 4,161 |
| P14 | Enea Frey | CL Motorsport | +36 | 3,692 |
| P15 | Marcus Saeter | G4 Racing | +60 | 3,261 |
| P16 | Kabir Anurag | ART Grand Prix | +27 | 3,531 |
| P17 | Jan Przyrowski | RPM | −59 | 4,508 |
| P18 | Francisco Macedo | Van Amersfoort Racing | +41 | 3,089 |
| P19 | Andrija Kostic | Trident Motorsport | −25 | 3,777 |
| P20 | Giovanni Maschio | RPM | −1 | 3,350 |
| P21 | Matteo Giaccardi | ART Grand Prix | −51 | 3,824 |
| P22 | Emanuele Olivieri | R-ace GP | −63 | 3,838 |
| P23 | Tomass Stolcermanis | Prema Racing | −107 | 4,273 |
| P24 | Rahim Alibhai | G4 Racing | +27 | 2,424 |
| P25 | Jules Roussel Champigny | CL Motorsport | −91 | 3,784 |
| P26 | Alexandre Munoz | ART Grand Prix | −120 | 4,017 |
| P27 | Andrea Dupe | Van Amersfoort Racing | −105 | 3,685 |
| P28 | Reza Seewooruthun | Rodin Motorsport | −163 | 4,318 |
| DNF | Saqer Almousherji | G4 Racing | −48 | 2,797 |
| DNF | Gabriel Gomez | Rodin Motorsport | −193 | 4,457 |
Rating Δ is the Elo exchange from this race: taken from the cars finished behind, ceded to those ahead, net zero across the field. A shared car splits its change among co-drivers by FIA grade, so both appear at the same position.