| U23 Men, 10 laps |
| 1 Riley Amos (United States) |
0:22:02 |
| 2 Bjorn Riley (United States) |
at s.t. |
| 3 Tobias Lillelund (Denmark) |
0:04 |
| 4 Dario Lillo (Switzerland) |
0:07 |
| 5 Cole Punchard (Canada) |
0:12 |
| 6 Brayden Johnson (United States) |
0:22 |
| 7 Luke Moir (South Africa) |
0:29 |
| 8 Owen Clark (Canada) |
0:34 |
| 9 Alex Junior Malacarne (Brazil) |
0:36 |
| 10 Oscar Lind (Sweden) |
0:39 |
| 11 Leo Lounela (Sweden) |
0:46 |
| 12 Jan Zatloukal (Czechia) |
0:49 |
| 13 Sondre Rokke (Norway) |
0:56 |
| 14 Elian Paccagnella (Italy) |
1:00 |
| 15 Martin E Farstadvoll (Norway) |
1:02 |
| 16 Jan Saska (Czechia) |
1:04 |
| 17 Max Greensill (Great Britain) |
1:06 |
| 18 Ian Ackert (Canada) |
1:06 |
| 19 Noah Ramsay (Canada) |
1:07 |
| 20 Michael Foster (South Africa) |
1:10 |
| 21 Zorak Paille (Canada) |
1:27 |
| 22 Tom Schellekens (Netherlands) |
1:37 |
| 23 Jarne Vandersteen (Belgium) |
-1 Lap |
| 24 Lukas Hatz (Austria) |
-1 Lap |
| 25 Alexander Hammerle (Austria) |
-1 Lap |
| 26 Rens Teunissen van Manen (Netherlands) |
-1 Lap |
| 27 Nelson Pena Franco (Colombia) |
-1 Lap |
| 28 Carson Hampton (United States) |
-1 Lap |
| 29 Patrik Cerny (Czechia) |
-1 Lap |
| 30 Eiki Yamauchi Leoncio (Brazil) |
-1 Lap |
| 31 Fabio Bassignana (Italy) |
-2 Laps |
| 32 Mikkel Lose (Denmark) |
-2 Laps |
| 33 Ond?ej Novotny (Czechia) |
-2 Laps |
| 34 Jack Ward (Australia) |
-2 Laps |
| 35 Leszek Jaskiewicz (Poland) |
-3 Laps |
| 36 Ivan Aguilar Villegas (Mexico) |
-3 Laps |
| 37 Frits Biesterbos (Netherlands) |
-3 Laps |
| 38 Jonathan David Cantor Sanchez (Colombia) |
-3 Laps |
| 39 Frantisek Hojka (Czechia) |
-3 Laps |
| 40 Volodymyr Obukhivskyi (Ukraine) |
-5 Laps |
| 41 Unathi Nxumalo (South Africa) |
-5 Laps |
| 42 Florian Papcun (Slovakia) |
-5 Laps |
| 43 Anton Rybka (Ukraine) |
-5 Laps |
| 44 Felix Sprenger (Liechtenstein) |
-5 Laps |
| 45 Chris van Dijk (Netherlands) |
-7 Laps |
| 46 Joseph Blackmore (Great Britain) |
-7 Laps |
| DNS Oleksandr Hudyma (Ukraine) |
| DNS Ethan Rose (New Zealand) |
| DNF Oliver Solvhoj (Denmark) |
| DNF Matic Kranjec Zagar (Slovenia) |
| DNS Antonio Gomez Ortiz (Colombia) |
| |
| Elite Women, 8 laps |
| 1 Evie Richards (Great Britain) |
0:19:46 |
| 2 Pauline Ferrand Prevot (France) |
at 0:01 |
| 3 Jenny Rissveds (Sweden) |
0:18 |
| 4 Puck Pieterse* (Netherlands) |
0:22 |
| 5 Gwendalyn Gibson (United States) |
0:25 |
| 6 Anne Terpstra (Netherlands) |
0:26 |
| 7 Kate Courtney (United States) |
0:30 |
| 8 Savilia Blunk (United States) |
0:32 |
| 9 Rebecca Henderson (Australia) |
0:36 |
| 10 Laura Stigger (Austria) |
0:44 |
| 11 Candice Lill (South Africa) |
0:45 |
| 12 Sina Frei (Switzerland) |
0:45 |
| 13 Samara Maxwell (New Zealand) |
0:46 |
| 14 Jennifer Jackson (Canada) |
0:48 |
| 15 Greta Seiwald (Italy) |
0:53 |
| 16 Annie Last (Great Britain) |
1:14 |
| 17 Jitka Zabelicka (Czechia) |
1:26 |
| 18 Emeline Detilleux (Belgium) |
1:27 |
| 19 Tamara Wiedmann (Austria) |
1:33 |
| 20 Steffi Haberlin (Switzerland) |
1:39 |
| 21 Chiara Teocchi (Italy) |
1:47 |
| 22 Virag Buzsaki (Hungary) |
1:47 |
| 23 Lia Schrievers (Germany) |
1:48 |
| 24 Anne Tauber (Netherlands) |
1:48 |
| 25 Seraina Leugger (Switzerland) |
1:57 |
| 26 Kelsey Urban (United States) |
1:58 |
| 27 Ronja Eibl (Germany) |
-1 Lap |
| 28 Paula Gorycka (Poland) |
-1 Lap |
| 29 Zoe Cuthbert (Australia) |
-2 Laps |
| 30 Catalina Vidaurre Kossmann (Chile) |
-2 Laps |
| 31 Karen Fernandes Olimpio (Brazil) |
-3 Laps |
| 32 Gabriela Wojtyla (Poland) |
-3 Laps |
| 33 Vita Movrin (Slovenia) |
-3 Laps |
| 34 Linn Gustafzzon (Sweden) |
-3 Laps |
| 35 Sandra Walter (Canada) |
-3 Laps |
| 36 Merili Sirvel (Estonia) |
-3 Laps |
| 37 Roxane Vermette (Canada) |
-4 Laps |
| 38 Faranak Partoazar (Iran) |
-4 Laps |
| 39 Nuria Bosch Pico (Spain) |
-4 Laps |
| 40 Hercilia Najara Ferreira De Souza (Brazil) |
-4 Laps |
| 41 Maria Sherstiuk (Ukraine) |
-4 Laps |
| DNF Alessandra Keller (Switzerland) |
| DNS Erika Monserrath Rodriguez Suarez (Mexico) |
| |
| Elite Men, 10 laps |
| 1 Victor Koretzky (France) |
0:21:49 |
| 2 Charlie Aldridge (Great Britain) |
at 0:03 |
| 3 Alan Hatherly (South Africa) |
0:03 |
| 4 Christopher Blevins (United States) |
0:03 |
| 5 Jordan Sarrou (France) |
0:14 |
| 6 Luca Braidot (Italy) |
0:14 |
| 7 Simon Andreassen (Denmark) |
0:22 |
| 8 Thomas Pidcock (Great Britain) |
0:23 |
| 9 Luca Schwarzbauer (Germany) |
0:25 |
| 10 Martins Blums (Latvia) |
0:26 |
| 11 Simone Avondetto (Italy) |
0:28 |
| 12 Samuel Gaze (New Zealand) |
0:32 |
| 13 Pierre de Froidmont (Belgium) |
0:34 |
| 14 Maximilian Brandl (Germany) |
0:37 |
| 15 Sebastian Fini Carstensen (Denmark) |
0:43 |
| 16 Jens Schuermans (Belgium) |
0:48 |
| 17 David Domingo Campos Motos (Spain) |
0:48 |
| 18 Joshua Dubau (France) |
0:49 |
| 19 Gunnar Holmgren (Canada) |
0:50 |
| 20 Carter Woods (Canada) |
0:51 |
| 21 Jofre Cullell Estape (Spain) |
0:52 |
| 22 Nadir Colledani (Italy) |
0:54 |
| 23 Knut Rohme (Norway) |
0:55 |
| 24 Filippo Fontana (Italy) |
0:57 |
| 25 Thomas Litscher (Switzerland) |
1:03 |
| 26 Mats Tubaas Glende (Norway) |
1:06 |
| 27 Leon Reinhard Kaiser (Germany) |
1:10 |
| 28 Krzysztof Lukasik (Poland) |
1:12 |
| 29 Sam Fox (Australia) |
1:13 |
| 30 Ulan Bastos Galinski (Brazil) |
1:27 |
| 31 Julian Schelb (Germany) |
1:39 |
| 32 Gustavo Xavier De Oliveira Pereira (Brazil) |
1:46 |
| 33 Christopher Dawson (Ireland) |
1:55 |
| 34 Ignacio Gallo Florido (Chile) |
-1 Lap |
| 35 Agustin Duran (Argentina) |
-1 Lap |
| 36 Tyler Orschel (Canada) |
-1 Lap |
| 37 Johan van Zyl (South Africa) |
-1 Lap |
| 38 David List (Germany) |
-1 Lap |
| 39 Zsombor Palumby (Hungary) |
-2 Laps |
| 40 Nicolas Delich Pardo (Chile) |
-2 Laps |
| 41 Matej Ulik (Slovakia) |
-2 Laps |
| 42 Rok Naglic (Slovenia) |
-3 Laps |
| 43 Oriol Pi Ramirez De Arellano (Andorra) |
-6 Laps |
| DNS Martin Vidaurre Kossmann (Chile) |
| DNS Leandre Bouchard (Canada) |
| DNF Luiz Henrique Cocuzzi (Brazil) |
| DNF Markus Pajur (Estonia) |