| Fin | Driver | Team | Rating Δ | Rating |
|---|---|---|---|---|
| P1 | Dino Beganovic | Prema Racing | +92 | 5,734 |
| P2 | Gabriele Mini | Prema Racing | +83 | 5,706 |
| P3 | Noel Leon | Van Amersfoort Racing | +103 | 5,220 |
| P4 | Tim Tramnitz | MP Motorsport | +72 | 5,534 |
| P5 | Sebastian Montoya | Campos Racing | +138 | 4,422 |
| P6 | Oliver Goethe | Campos Racing | +54 | 5,466 |
| P7 | Callum Voisin | Rodin Motorsport | +78 | 4,941 |
| P8 | Santiago Ramos | Trident | +77 | 4,798 |
| P9 | Leonardo Fornaroli | Trident | — | 5,824 |
| P10 | Laurens van Hoepen | ART Grand Prix | +36 | 5,075 |
| P11 | Joseph Loake | Rodin Motorsport | +78 | 4,340 |
| P12 | Luke Browning | Hitech Pulse-Eight | +2 | 5,260 |
| P13 | Nikita Bedrin | PHM AIX Racing | +24 | 4,776 |
| P14 | Tuukka Taponen | ART Grand Prix | −8 | 5,070 |
| P15 | Arvid Lindblad | Prema Racing | −40 | 5,387 |
| P16 | Christian Mansell | ART Grand Prix | −60 | 5,528 |
| P17 | Matías Zagazeta | Jenzer Motorsport | +45 | 3,903 |
| P18 | Martinius Stenshorne | Hitech Pulse-Eight | −43 | 4,948 |
| P19 | Sophia Flörsch | Van Amersfoort Racing | +19 | 3,967 |
| P20 | Kacper Sztuka | MP Motorsport | −18 | 4,294 |
| P21 | Piotr Wisnicki | Rodin Motorsport | +15 | 3,728 |
| P22 | Cian Shields | Hitech Pulse-Eight | −30 | 4,174 |
| P23 | Alex Dunne | MP Motorsport | −85 | 4,766 |
| P24 | Josh Dufek | PHM AIX Racing | −40 | 4,014 |
| P25 | Tom Smith | Van Amersfoort Racing | −39 | 3,859 |
| P26 | Charlie Wurz | Jenzer Motorsport | −71 | 4,132 |
| P27 | Sami Meguetounif | Trident | −118 | 4,617 |
| P28 | Mari Boya | Campos Racing | −137 | 4,727 |
| P29 | Tasanapol Inthraphuvasak | PHM AIX Racing | −105 | 4,144 |
| DNF | Maxwell Esterson | Jenzer Motorsport | −121 | 4,204 |
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.