| Fin | Driver | Team | Rating Δ | Rating |
|---|---|---|---|---|
| P1 | Oliver Bearman | Van Amersfoort Racing | +51 | 5,100 |
| P2 | Andrea Kimi Antonelli | Prema Powerteam | +108 | 4,011 |
| P3 | Joshua Dürksen | Mücke Motorsport | +73 | 4,329 |
| P4 | Tim Tramnitz | US Racing | +19 | 5,092 |
| P5 | Sebastian Montoya | Prema Powerteam | +44 | 4,438 |
| P6 | Kirill Smal | Prema Powerteam | +29 | 4,505 |
| P7 | Conrad Laursen | Prema Powerteam | +65 | 3,863 |
| P8 | Piotr Wisnicki | Jenzer Motorsport | +97 | 3,370 |
| P9 | Leonardo Fornaroli | Iron Lynx | −2 | 4,484 |
| P10 | Hamda Al Qubaisi | Prema Powerteam | +96 | 3,134 |
| P11 | Pietro Armanni | Iron Lynx | +112 | 2,788 |
| P12 | Oliver Gray | BVM Racing | +26 | 3,703 |
| P13 | Jorge Garcíarce | Jenzer Motorsport | +101 | 2,644 |
| P14 | Santiago Ramos | Jenzer Motorsport | +15 | 3,583 |
| P15 | Pedro Perino | US Racing | +71 | 2,772 |
| P16 | Nikita Bedrin | Van Amersfoort Racing | −35 | 3,926 |
| P17 | Kacper Sztuka | Iron Lynx | +27 | 3,069 |
| P18 | Erick Zuniga | Mücke Motorsport | −18 | 3,472 |
| P19 | Samir BEN | Jenzer Motorsport | +22 | 2,864 |
| P20 | Leonardo Bizzotto | BVM Racing | −13 | 3,163 |
| P21 | Maya Weug | Iron Lynx | −15 | 3,047 |
| P22 | Josh Dufek | Van Amersfoort Racing | −125 | 4,325 |
| P23 | Georgis Markogiannis | Cram Motorsport | −10 | 2,739 |
| P24 | Rocco Mazzola | Cram Motorsport | −82 | 3,468 |
| P25 | Francesco Braschi | Jenzer Motorsport | −78 | 3,295 |
| P26 | Francesco Simonazzi | BVM Racing | −85 | 3,238 |
| P27 | Lorenzo Patrese | AKM Motorsport | −106 | 3,360 |
| P28 | Marcos Flack | Cram Motorsport | −123 | 3,428 |
| P29 | Levente Révész | AKM Motorsport | −87 | 2,891 |
| P30 | Maceo Capietto | Prema Powerteam | −176 | 3,852 |
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.