| Fin | Driver | Team | Rating Δ | Rating |
|---|---|---|---|---|
| P1 | Nikola Tsolov | ART Grand Prix | +134 | 5,096 |
| P2 | Noel Leon | Van Amersfoort Racing | +122 | 5,116 |
| P3 | Leonardo Fornaroli | Trident | +65 | 5,825 |
| P4 | Christian Mansell | ART Grand Prix | +68 | 5,587 |
| P5 | Santiago Ramos | Trident | +116 | 4,721 |
| P6 | Callum Voisin | Rodin Motorsport | +95 | 4,863 |
| P7 | Nikita Bedrin | PHM AIX Racing | +92 | 4,752 |
| P8 | Oliver Goethe | Campos Racing | +36 | 5,411 |
| P9 | Dino Beganovic | Prema Racing | +10 | 5,641 |
| P10 | Mari Boya | Campos Racing | +51 | 4,863 |
| P11 | Gabriele Mini | Prema Racing | −11 | 5,623 |
| P12 | Luke Browning | Hitech Pulse-Eight | +1 | 5,258 |
| P13 | Martinius Stenshorne | Hitech Pulse-Eight | +9 | 4,991 |
| P14 | Tasanapol Inthraphuvasak | PHM AIX Racing | +52 | 4,249 |
| P15 | Maxwell Esterson | Jenzer Motorsport | +35 | 4,326 |
| P16 | Alex Dunne | MP Motorsport | −15 | 4,851 |
| P17 | Cian Shields | Hitech Pulse-Eight | +22 | 4,205 |
| P18 | Kacper Sztuka | MP Motorsport | +3 | 4,312 |
| P19 | Sebastian Montoya | Campos Racing | −6 | 4,284 |
| P20 | Tim Tramnitz | MP Motorsport | −99 | 5,462 |
| P21 | Piotr Wisnicki | Rodin Motorsport | +16 | 3,713 |
| P22 | Josh Dufek | PHM AIX Racing | −21 | 4,054 |
| P23 | Sophia Flörsch | Van Amersfoort Racing | −24 | 3,948 |
| P24 | Tom Smith | Van Amersfoort Racing | −31 | 3,898 |
| P25 | Sami Meguetounif | Trident | −104 | 4,735 |
| P26 | Joseph Loake | Rodin Motorsport | −82 | 4,263 |
| P27 | Matías Zagazeta | Jenzer Motorsport | −61 | 3,857 |
| P28 | Arvid Lindblad | Prema Racing | −182 | 5,427 |
| DNF | Laurens van Hoepen | ART Grand Prix | −169 | 5,039 |
| DNF | Charlie Wurz | Jenzer Motorsport | −121 | 4,203 |
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.