| Fin | Driver | Team | Rating Δ | Rating |
|---|---|---|---|---|
| P1 | Oliver Bearman | Van Amersfoort Racing | +42 | 5,187 |
| P2 | Kirill Smal | Prema Powerteam | +60 | 4,601 |
| P3 | Andrea Kimi Antonelli | Prema Powerteam | +77 | 4,175 |
| P4 | Lorenzo Patrese | AKM Motorsport | +115 | 3,577 |
| P5 | Tim Tramnitz | US Racing | +5 | 5,096 |
| P6 | Joshua Dürksen | Mücke Motorsport | +29 | 4,414 |
| P7 | Vlad Lomko | US Racing | +40 | 4,112 |
| P8 | Josh Dufek | Van Amersfoort Racing | +12 | 4,348 |
| P9 | Maceo Capietto | Prema Powerteam | +36 | 3,886 |
| P10 | Santiago Ramos | Jenzer Motorsport | +44 | 3,665 |
| P11 | Pietro Armanni | Iron Lynx | +100 | 2,937 |
| P12 | Oliver Gray | BVM Racing | +26 | 3,634 |
| P13 | Robert de Haan | Van Amersfoort Racing | +16 | 3,634 |
| P14 | Maya Weug | Iron Lynx | +60 | 3,037 |
| P15 | Pedro Perino | US Racing | +60 | 2,910 |
| P16 | Jonas Ried | Mücke Motorsport | +58 | 2,813 |
| P17 | Nicolas Baptiste | Cram Motorsport | +46 | 2,827 |
| P18 | Georgis Markogiannis | Cram Motorsport | +36 | 2,819 |
| P19 | Marcos Flack | Cram Motorsport | −20 | 3,352 |
| P20 | Nikita Bedrin | Van Amersfoort Racing | −75 | 3,880 |
| P21 | Jorge Garcíarce | Jenzer Motorsport | +19 | 2,660 |
| P22 | Piotr Wisnicki | Jenzer Motorsport | −40 | 3,224 |
| P23 | Samir BEN | Jenzer Motorsport | −11 | 2,763 |
| P24 | Rocco Mazzola | Cram Motorsport | −68 | 3,305 |
| P25 | Conrad Laursen | Prema Powerteam | −119 | 3,797 |
| P26 | Bence VALINT | Van Amersfoort Racing | −69 | 3,086 |
| P27 | Francesco Simonazzi | BVM Racing | −92 | 3,222 |
| P28 | Levente Révész | AKM Motorsport | −68 | 2,829 |
| P29 | Hamda Al Qubaisi | Prema Powerteam | −97 | 3,038 |
| P30 | Kacper Sztuka | Iron Lynx | −105 | 3,009 |
| P31 | Leonardo Bizzotto | BVM Racing | −118 | 3,036 |
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.