--> -->
| 1. | Stefan Küng (SUI, Groupama - FDJ) | 0:29:34 | 
| 2. | Rémi Cavagna (FRA, Soudal - Quick Step) | 0:04 | 
| 3. | Filippo Ganna (ITA, INEOS Grenadiers) | 0:10 | 
| 4. | Daniel Felipe Martínez (COL, INEOS Grenadiers) | 0:16 | 
| 5. | Tobias Foss (NOR, Jumbo-Visma) | 0:29 | 
| 6. | Thymen Arensman (NED, INEOS Grenadiers) | 0:32 | 
| 7. | Ilan Van Wilder (BEL, Soudal - Quick Step) | 0:49 | 
| 8. | Bauke Mollema (NED, Trek - Segafredo) | 0:56 | 
| 9. | Nils Politt (GER, BORA - hansgrohe) | 1:03 | 
| 10. | Rune Herregodts (BEL, Intermarché - Circus - Wanty) | 1:03 | 
| 11. | Magnus Cort (DEN, EF Education-EasyPost) | 1:07 | 
| 12. | Jonathan Castroviejo (ESP, INEOS Grenadiers) | 1:11 | 
| 13. | João Almeida (POR, UAE Team Emirates) | 1:12 | 
| 14. | Laurens De Plus (BEL, INEOS Grenadiers) | 1:14 | 
| 15. | Mathias Vacek (CZE, Trek - Segafredo) | 1:18 | 
| 16. | Rui Costa (POR, Intermarché - Circus - Wanty) | 1:23 | 
| 17. | Kasper Asgreen (DEN, Soudal - Quick Step) | 1:26 | 
| 18. | Oscar Onley (GBR, Team DSM) | 1:27 | 
| 19. | Thomas Pidcock (GBR, INEOS Grenadiers) | 1:27 | 
| 20. | Anthon Charmig (DEN, Uno-X Pro Cycling Team) | 1:34 | 
| 21. | Tony Gallopin (FRA, Trek - Segafredo) | 1:36 | 
| 22. | Casper Pedersen (DEN, Soudal - Quick Step) | 1:37 | 
| 23. | Tim Van Dijke (NED, Jumbo-Visma) | 1:42 | 
| 24. | Michal Kwiatkowski (POL, INEOS Grenadiers) | 1:43 | 
| 25. | Sergio Higuita (COL, BORA - hansgrohe) | 1:45 | 
| 26. | Jai Hindley (AUS, BORA - hansgrohe) | 1:45 | 
| 27. | Finn Fisher-black (NZL, UAE Team Emirates) | 1:50 | 
| 28. | Frederik Wandahl (DEN, BORA - hansgrohe) | 1:56 | 
| 29. | Filippo Baroncini (ITA, Trek - Segafredo) | 1:58 | 
| 30. | Thibault Guernalec (FRA, Team Arkéa Samsic) | 2:04 | 
| 31. | Kobe Goossens (BEL, Intermarché - Circus - Wanty) | 2:09 | 
| 32. | Kevin Vermaerke (USA, Team DSM) | 2:14 | 
| 33. | Pavel Bittner (CZE, Team DSM) | 2:16 | 
| 34. | Sébastien Reichenbach (SUI, Tudor Pro Cycling Team) | 2:25 | 
| 35. | Erik Nordsæter Resell (NOR, Uno-X Pro Cycling Team) | 2:25 | 
| 36. | Edward Theuns (BEL, Trek - Segafredo) | 2:29 | 
| 37. | Xandro Meurisse (BEL, Alpecin-Deceuninck) | 2:36 | 
| 38. | John Degenkolb (GER, Team DSM) | 2:39 | 
| 39. | Mike Teunissen (NED, Intermarché - Circus - Wanty) | 2:40 | 
| 40. | Roel Van Sintmaartensdijk (NED, Intermarché - Circus - Wanty) | 2:46 | 
| 41. | Jacopo Mosca (ITA, Trek - Segafredo) | 2:46 | 
| 42. | Joaquim Silva (POR, Efapel Cycling) | 2:48 | 
| 43. | Jonas Koch (GER, BORA - hansgrohe) | 2:51 | 
| 44. | Tiago Antunes (POR, Efapel Cycling) | 2:52 | 
| 45. | Stefan Bissegger (SUI, EF Education-EasyPost) | 2:53 | 
| 46. | Owain Doull (GBR, EF Education-EasyPost) | 2:54 | 
| 47. | Madis Mihkels (EST, Intermarché - Circus - Wanty) | 2:57 | 
| 48. | Merhawi Kudus (ERI, EF Education-EasyPost) | 2:57 | 
| 49. | Nicola Conci (ITA, Alpecin-Deceuninck) | 3:02 | 
| 50. | Carlos Iván Oyarzún (CHI, Aviludo - Louletano - Loulé Concelho) | 3:05 | 
| 51. | Nils Eekhoff (NED, Team DSM) | 3:05 | 
| 52. | Jon Barrenetxea (ESP, Caja Rural - Seguros RGA) | 3:08 | 
| 53. | Olivier Le Gac (FRA, Groupama - FDJ) | 3:10 | 
| 54. | Odd Christian Eiking (NOR, EF Education-EasyPost) | 3:11 | 
| 55. | Ivo Oliveira (POR, UAE Team Emirates) | 3:11 | 
| 56. | Alexander Kamp (DEN, Tudor Pro Cycling Team) | 3:12 | 
| 57. | Quinten Hermans (BEL, Alpecin-Deceuninck) | 3:13 | 
| 58. | Jake Stewart (GBR, Groupama - FDJ) | 3:15 | 
| 59. | Marco Haller (AUT, BORA - hansgrohe) | 3:19 | 
| 60. | Tim Declercq (BEL, Soudal - Quick Step) | 3:20 | 
| 61. | Hugo Hofstetter (FRA, Team Arkéa Samsic) | 3:27 | 
| 62. | Paul Penhoët (FRA, Groupama - FDJ) | 3:27 | 
| 63. | Rasmus Tiller (NOR, Uno-X Pro Cycling Team) | 3:28 | 
| 64. | Simon Pellaud (SUI, Tudor Pro Cycling Team) | 3:28 | 
| 65. | Warren Barguil (FRA, Team Arkéa Samsic) | 3:28 | 
| 66. | Artem Nych (RUS, Glassdrive Q8 Anicolor) | 3:30 | 
| 67. | Natnael Tesfatsion (ERI, Trek - Segafredo) | 3:30 | 
| 68. | Sergio García (ESP, Glassdrive Q8 Anicolor) | 3:33 | 
| 69. | Matis Louvel (FRA, Team Arkéa Samsic) | 3:33 | 
| 70. | Sergio Roman Martín (ESP, Caja Rural - Seguros RGA) | 3:36 | 
| 71. | Luís Gomes (POR, Kelly / Simoldes / UDO) | 3:36 | 
| 72. | Emanuel Duarte (POR, Efapel Cycling) | 3:36 | 
| 73. | Simon Guglielmi (FRA, Team Arkéa Samsic) | 3:39 | 
| 74. | Anders Skaarseth (NOR, Uno-X Pro Cycling Team) | 3:40 | 
| 75. | Élie Gesbert (FRA, Team Arkéa Samsic) | 3:46 | 
| 76. | Gage Hecht (USA, Human Powered Health) | 3:47 | 
| 77. | Charles-Étienne Chrétien (CAN, Human Powered Health) | 3:48 | 
| 78. | Henrique Casimiro (POR, Efapel Cycling) | 3:48 | 
| 79. | Kristian Aasvold (NOR, Human Powered Health) | 3:50 | 
| 80. | Timo Kielich (BEL, Alpecin-Deceuninck) | 3:53 | 
| 81. | Milan Vader (NED, Jumbo-Visma) | 3:54 | 
| 82. | Kristian Sbaragli (ITA, Alpecin-Deceuninck) | 4:02 | 
| 83. | Aloïs Charrin (FRA, Tudor Pro Cycling Team) | 4:03 | 
| 84. | Rui Oliveira (POR, UAE Team Emirates) | 4:07 | 
| 85. | Lewis Askey (GBR, Groupama - FDJ) | 4:14 | 
| 86. | Jordi Meeus (BEL, BORA - hansgrohe) | 4:17 | 
| 87. | Adrián Bustamante (COL, Kelly / Simoldes / UDO) | 4:21 | 
| 88. | Ivo Pinheiro (POR, ABTF Betão - Feirense) | 4:25 | 
| 89. | Rafael Silva (POR, Efapel Cycling) | 4:29 | 
| 90. | Casper Van Uden (NED, Team DSM) | 4:31 | 
| 91. | Fábio Costa (POR, Glassdrive Q8 Anicolor) | 4:32 | 
| 92. | Michal Schlegel (CZE, Caja Rural - Seguros RGA) | 4:33 | 
| 93. | Hugo Nunes (POR, Rádio Popular - Paredes - Boavista) | 4:39 | 
| 94. | Tom Bohli (SUI, Tudor Pro Cycling Team) | 4:39 | 
| 95. | Fabio Jakobsen (NED, Soudal - Quick Step) | 4:41 | 
| 96. | Eduard Prades (ESP, Caja Rural - Seguros RGA) | 4:43 | 
| 97. | Matthew Gibson (GBR, Human Powered Health) | 4:49 | 
| 98. | Mark Padun (UKR, EF Education-EasyPost) | 4:55 | 
| 99. | Jimmy Janssens (BEL, Alpecin-Deceuninck) | 4:56 | 
| 100. | Diogo Barbosa (POR, APHotels and Resorts - Tavira) | 4:59 | 
| 101. | Tobias Bayer (AUT, Alpecin-Deceuninck) | 5:00 | 
| 102. | Michael Mørkøv (DEN, Soudal - Quick Step) | 5:10 | 
| 103. | Alexander Kristoff (NOR, Uno-X Pro Cycling Team) | 5:11 | 
| 104. | Pedro Silva (POR, Glassdrive Q8 Anicolor) | 5:15 | 
| 105. | Daniel Babor (CZE, Caja Rural - Seguros RGA) | 5:16 | 
| 106. | José Sousa (POR, Kelly / Simoldes / UDO) | 5:17 | 
| 107. | Iúri Leitão (POR, Caja Rural - Seguros RGA) | 5:17 | 
| 108. | Afonso Eulálio (POR, ABTF Betão - Feirense) | 5:22 | 
| 109. | Santiago Mesa (COL, ABTF Betão - Feirense) | 5:26 | 
| 110. | César Fonte (POR, Rádio Popular - Paredes - Boavista) | 5:30 | 
| 111. | Leangel Linarez (VEN, Tavfer-Ovos Matinados-Mortágua) | 5:32 | 
| 112. | Afonso Silva (POR, Kelly / Simoldes / UDO) | 5:34 | 
| 113. | Jesus Del Pino (ESP, Aviludo - Louletano - Loulé Concelho) | 5:38 | 
| 114. | Fábio Oliveira (POR, ABTF Betão - Feirense) | 5:39 | 
| 115. | Rafael Lourenço (POR, APHotels and Resorts - Tavira) | 5:40 | 
| 116. | Tomas Contte (ARG, Aviludo - Louletano - Loulé Concelho) | 5:46 | 
| 117. | Chad Haga (USA, Human Powered Health) | 5:51 | 
| 118. | Samuel Blanco (ESP, APHotels and Resorts - Tavira) | 5:53 | 
| 119. | Diogo Narciso (POR, Credibom / LA Aluminios / Marcos Car) | 5:53 | 
| 120. | Gonçalo Leaça (POR, Credibom / LA Aluminios / Marcos Car) | 6:00 | 
| 121. | Rodrigo Caixas (POR, Credibom / LA Aluminios / Marcos Car) | 6:00 | 
| 122. | Pedro Andrade (POR, ABTF Betão - Feirense) | 6:02 | 
| 123. | Miles Scotson (AUS, Groupama - FDJ) | 6:08 | 
| 124. | Rúben Simão (POR, APHotels and Resorts - Tavira) | 6:19 | 
| 125. | António Ferreira (POR, Kelly / Simoldes / UDO) | 6:33 | 
| 126. | João Medeiros (POR, Credibom / LA Aluminios / Marcos Car) | 6:38 | 
| 127. | César Martingil (POR, Aviludo - Louletano - Loulé Concelho) | 6:40 | 
| 128. | Gonçalo Amado (POR, Tavfer-Ovos Matinados-Mortágua) | 6:41 | 
| 129. | Noah Campos (POR, Kelly / Simoldes / UDO) | 6:43 | 
| 130. | Venceslau Fernandes (POR, APHotels and Resorts - Tavira) | 6:53 | 
| 131. | Matteo Trentin (ITA, UAE Team Emirates) | 6:55 | 
| 132. | Francisco Moreira (POR, ABTF Betão - Feirense) | 6:56 | 
| 133. | Hélder Gonçalves (POR, Kelly / Simoldes / UDO) | 7:04 | 
| 134. | Luís Fernandes (POR, Rádio Popular - Paredes - Boavista) | 7:06 | 
| 135. | Francisco Morais (POR, Tavfer-Ovos Matinados-Mortágua) | 7:14 | 
| OTL. | Nicolas Saenz (COL, Tavfer-Ovos Matinados-Mortágua) | 7:26 | 
| OTL. | Valter Pereira (POR, APHotels and Resorts - Tavira) | 7:28 | 
| OTL. | Vicente Hernaiz (ESP, Rádio Popular - Paredes - Boavista) | 7:34 | 
| OTL. | Daniel Viegas (POR, Aviludo - Louletano - Loulé Concelho) | 7:37 | 
| OTL. | Gonçalo Carvalho (POR, Tavfer-Ovos Matinados-Mortágua) | 7:44 | 
| OTL. | Nuno Meireles (POR, Aviludo - Louletano - Loulé Concelho) | 7:45 | 
| OTL. | Guillermo Garcia (ESP, Rádio Popular - Paredes - Boavista) | 8:14 | 
| OTL. | João Macedo (POR, Credibom / LA Aluminios / Marcos Car) | 9:41 | 
| 1. | Daniel Felipe Martínez (COL, INEOS Grenadiers) | 20:00:26 | 
| 2. | Filippo Ganna (ITA, INEOS Grenadiers) | 0:02 | 
| 3. | Ilan Van Wilder (BEL, Soudal - Quick Step) | 0:15 | 
| 4. | Tobias Foss (NOR, Jumbo-Visma) | 0:22 | 
| 5. | Stefan Küng (SUI, Groupama - FDJ) | 0:26 | 
| 6. | João Almeida (POR, UAE Team Emirates) | 0:40 | 
| 7. | Thomas Pidcock (GBR, INEOS Grenadiers) | 0:48 | 
| 8. | Bauke Mollema (NED, Trek - Segafredo) | 0:49 | 
| 9. | Magnus Cort (DEN, EF Education-EasyPost) | 0:55 | 
| 10. | Rui Costa (POR, Intermarché - Circus - Wanty) | 1:06 | 
| 11. | Sergio Higuita (COL, BORA - hansgrohe) | 1:23 | 
| 12. | Oscar Onley (GBR, Team DSM) | 1:24 | 
| 13. | Jai Hindley (AUS, BORA - hansgrohe) | 1:27 | 
| 14. | Rémi Cavagna (FRA, Soudal - Quick Step) | 1:47 | 
| 15. | Anthon Charmig (DEN, Uno-X Pro Cycling Team) | 1:50 | 
| 16. | Kevin Vermaerke (USA, Team DSM) | 2:30 | 
| 17. | Kobe Goossens (BEL, Intermarché - Circus - Wanty) | 2:35 | 
| 18. | Frederik Wandahl (DEN, BORA - hansgrohe) | 2:41 | 
| 19. | Sébastien Reichenbach (SUI, Tudor Pro Cycling Team) | 2:46 | 
| 20. | Finn Fisher-black (NZL, UAE Team Emirates) | 3:08 | 
| 21. | Nicola Conci (ITA, Alpecin-Deceuninck) | 3:33 | 
| 22. | Merhawi Kudus (ERI, EF Education-EasyPost) | 3:48 | 
| 23. | Warren Barguil (FRA, Team Arkéa Samsic) | 3:51 | 
| 24. | Thymen Arensman (NED, INEOS Grenadiers) | 3:56 | 
| 25. | Jonathan Castroviejo (ESP, INEOS Grenadiers) | 4:45 | 
| 26. | Odd Christian Eiking (NOR, EF Education-EasyPost) | 4:49 | 
| 27. | Rune Herregodts (BEL, Intermarché - Circus - Wanty) | 5:18 | 
| 28. | Natnael Tesfatsion (ERI, Trek - Segafredo) | 5:20 | 
| 29. | Simon Guglielmi (FRA, Team Arkéa Samsic) | 5:29 | 
| 30. | Élie Gesbert (FRA, Team Arkéa Samsic) | 5:37 | 
| 31. | Laurens De Plus (BEL, INEOS Grenadiers) | 6:10 | 
| 32. | Joaquim Silva (POR, Efapel Cycling) | 6:12 | 
| 33. | Milan Vader (NED, Jumbo-Visma) | 7:18 | 
| 34. | Adrián Bustamante (COL, Kelly / Simoldes / UDO) | 7:27 | 
| 35. | Xandro Meurisse (BEL, Alpecin-Deceuninck) | 8:01 | 
| 36. | Tony Gallopin (FRA, Trek - Segafredo) | 9:05 | 
| 37. | Artem Nych (RUS, Glassdrive Q8 Anicolor) | 9:27 | 
| 38. | Jon Barrenetxea (ESP, Caja Rural - Seguros RGA) | 9:34 | 
| 39. | Luís Gomes (POR, Kelly / Simoldes / UDO) | 9:38 | 
| 40. | Jonas Koch (GER, BORA - hansgrohe) | 10:55 | 
| 41. | Henrique Casimiro (POR, Efapel Cycling) | 11:12 | 
| 42. | Quinten Hermans (BEL, Alpecin-Deceuninck) | 11:16 | 
| 43. | Matis Louvel (FRA, Team Arkéa Samsic) | 12:48 | 
| 44. | Simon Pellaud (SUI, Tudor Pro Cycling Team) | 13:19 | 
| 45. | Eduard Prades (ESP, Caja Rural - Seguros RGA) | 14:34 | 
| 46. | Michal Kwiatkowski (POL, INEOS Grenadiers) | 15:30 | 
| 47. | Tiago Antunes (POR, Efapel Cycling) | 16:04 | 
| 48. | Sergio Roman Martín (ESP, Caja Rural - Seguros RGA) | 16:13 | 
| 49. | Kristian Sbaragli (ITA, Alpecin-Deceuninck) | 17:17 | 
| 50. | Anders Skaarseth (NOR, Uno-X Pro Cycling Team) | 17:39 | 
| 51. | Mike Teunissen (NED, Intermarché - Circus - Wanty) | 21:14 | 
| 52. | Ivo Oliveira (POR, UAE Team Emirates) | 21:51 | 
| 53. | Kristian Aasvold (NOR, Human Powered Health) | 22:27 | 
| 54. | Tim Van Dijke (NED, Jumbo-Visma) | 22:43 | 
| 55. | Olivier Le Gac (FRA, Groupama - FDJ) | 22:56 | 
| 56. | Nils Politt (GER, BORA - hansgrohe) | 23:13 | 
| 57. | Casper Pedersen (DEN, Soudal - Quick Step) | 24:14 | 
| 58. | Owain Doull (GBR, EF Education-EasyPost) | 24:19 | 
| 59. | Sergio García (ESP, Glassdrive Q8 Anicolor) | 25:03 | 
| 60. | Marco Haller (AUT, BORA - hansgrohe) | 25:03 | 
| 61. | Mathias Vacek (CZE, Trek - Segafredo) | 25:14 | 
| 62. | Filippo Baroncini (ITA, Trek - Segafredo) | 25:32 | 
| 63. | César Fonte (POR, Rádio Popular - Paredes - Boavista) | 26:00 | 
| 64. | Carlos Iván Oyarzún (CHI, Aviludo - Louletano - Loulé Concelho) | 26:05 | 
| 65. | Rui Oliveira (POR, UAE Team Emirates) | 27:25 | 
| 66. | Hugo Hofstetter (FRA, Team Arkéa Samsic) | 27:28 | 
| 67. | Emanuel Duarte (POR, Efapel Cycling) | 28:04 | 
| 68. | Erik Nordsæter Resell (NOR, Uno-X Pro Cycling Team) | 28:33 | 
| 69. | Jake Stewart (GBR, Groupama - FDJ) | 29:37 | 
| 70. | Paul Penhoët (FRA, Groupama - FDJ) | 30:18 | 
| 71. | Miles Scotson (AUS, Groupama - FDJ) | 30:19 | 
| 72. | Thibault Guernalec (FRA, Team Arkéa Samsic) | 30:42 | 
| 73. | Kasper Asgreen (DEN, Soudal - Quick Step) | 31:29 | 
| 74. | Rasmus Tiller (NOR, Uno-X Pro Cycling Team) | 31:55 | 
| 75. | John Degenkolb (GER, Team DSM) | 32:38 | 
| 76. | Jacopo Mosca (ITA, Trek - Segafredo) | 32:40 | 
| 77. | Aloïs Charrin (FRA, Tudor Pro Cycling Team) | 33:21 | 
| 78. | Afonso Silva (POR, Kelly / Simoldes / UDO) | 33:27 | 
| 79. | Lewis Askey (GBR, Groupama - FDJ) | 33:30 | 
| 80. | Rafael Silva (POR, Efapel Cycling) | 33:41 | 
| 81. | Matteo Trentin (ITA, UAE Team Emirates) | 33:47 | 
| 82. | Jimmy Janssens (BEL, Alpecin-Deceuninck) | 35:01 | 
| 83. | Michal Schlegel (CZE, Caja Rural - Seguros RGA) | 35:09 | 
| 84. | Pavel Bittner (CZE, Team DSM) | 36:24 | 
| 85. | Charles-Étienne Chrétien (CAN, Human Powered Health) | 37:37 | 
| 86. | Madis Mihkels (EST, Intermarché - Circus - Wanty) | 37:53 | 
| 87. | Stefan Bissegger (SUI, EF Education-EasyPost) | 37:54 | 
| 88. | Hugo Nunes (POR, Rádio Popular - Paredes - Boavista) | 39:15 | 
| 89. | Tim Declercq (BEL, Soudal - Quick Step) | 39:32 | 
| 90. | Ivo Pinheiro (POR, ABTF Betão - Feirense) | 39:58 | 
| 91. | Alexander Kristoff (NOR, Uno-X Pro Cycling Team) | 40:02 | 
| 92. | Mark Padun (UKR, EF Education-EasyPost) | 40:22 | 
| 93. | Alexander Kamp (DEN, Tudor Pro Cycling Team) | 41:04 | 
| 94. | Rafael Lourenço (POR, APHotels and Resorts - Tavira) | 42:15 | 
| 95. | Roel Van Sintmaartensdijk (NED, Intermarché - Circus - Wanty) | 42:17 | 
| 96. | Rúben Simão (POR, APHotels and Resorts - Tavira) | 43:43 | 
| 97. | Michael Mørkøv (DEN, Soudal - Quick Step) | 44:45 | 
| 98. | Hélder Gonçalves (POR, Kelly / Simoldes / UDO) | 44:54 | 
| 99. | João Medeiros (POR, Credibom / LA Aluminios / Marcos Car) | 44:59 | 
| 100. | Rodrigo Caixas (POR, Credibom / LA Aluminios / Marcos Car) | 45:52 | 
| 101. | Pedro Silva (POR, Glassdrive Q8 Anicolor) | 46:46 | 
| 102. | Timo Kielich (BEL, Alpecin-Deceuninck) | 46:48 | 
| 103. | Nils Eekhoff (NED, Team DSM) | 47:05 | 
| 104. | Chad Haga (USA, Human Powered Health) | 47:37 | 
| 105. | Afonso Eulálio (POR, ABTF Betão - Feirense) | 47:40 | 
| 106. | Edward Theuns (BEL, Trek - Segafredo) | 48:04 | 
| 107. | Gage Hecht (USA, Human Powered Health) | 48:13 | 
| 108. | Tom Bohli (SUI, Tudor Pro Cycling Team) | 48:39 | 
| 109. | Jesus Del Pino (ESP, Aviludo - Louletano - Loulé Concelho) | 49:16 | 
| 110. | José Sousa (POR, Kelly / Simoldes / UDO) | 49:17 | 
| 111. | Luís Fernandes (POR, Rádio Popular - Paredes - Boavista) | 49:19 | 
| 112. | Tobias Bayer (AUT, Alpecin-Deceuninck) | 49:53 | 
| 113. | Samuel Blanco (ESP, APHotels and Resorts - Tavira) | 50:57 | 
| 114. | Casper Van Uden (NED, Team DSM) | 52:13 | 
| 115. | Fabio Jakobsen (NED, Soudal - Quick Step) | 55:21 | 
| 116. | Fábio Oliveira (POR, ABTF Betão - Feirense) | 55:30 | 
| 117. | Jordi Meeus (BEL, BORA - hansgrohe) | 57:01 | 
| 118. | Venceslau Fernandes (POR, APHotels and Resorts - Tavira) | 57:05 | 
| 119. | Tomas Contte (ARG, Aviludo - Louletano - Loulé Concelho) | 1:00:37 | 
| 120. | Leangel Linarez (VEN, Tavfer-Ovos Matinados-Mortágua) | 1:01:32 | 
| 121. | Matthew Gibson (GBR, Human Powered Health) | 1:01:56 | 
| 122. | Daniel Babor (CZE, Caja Rural - Seguros RGA) | 1:01:56 | 
| 123. | Iúri Leitão (POR, Caja Rural - Seguros RGA) | 1:02:36 | 
| 124. | Diogo Barbosa (POR, APHotels and Resorts - Tavira) | 1:03:39 | 
| 125. | Gonçalo Leaça (POR, Credibom / LA Aluminios / Marcos Car) | 1:04:40 | 
| 126. | Diogo Narciso (POR, Credibom / LA Aluminios / Marcos Car) | 1:05:17 | 
| 127. | Santiago Mesa (COL, ABTF Betão - Feirense) | 1:06:27 | 
| 128. | Gonçalo Amado (POR, Tavfer-Ovos Matinados-Mortágua) | 1:08:07 | 
| 129. | Francisco Morais (POR, Tavfer-Ovos Matinados-Mortágua) | 1:10:33 | 
| 130. | Francisco Moreira (POR, ABTF Betão - Feirense) | 1:10:43 | 
| 131. | Pedro Andrade (POR, ABTF Betão - Feirense) | 1:12:19 | 
| 132. | Noah Campos (POR, Kelly / Simoldes / UDO) | 1:15:03 | 
| 133. | César Martingil (POR, Aviludo - Louletano - Loulé Concelho) | 1:19:38 | 
| 134. | Fábio Costa (POR, Glassdrive Q8 Anicolor) | 1:20:15 | 
| 135. | António Ferreira (POR, Kelly / Simoldes / UDO) | 1:22:10 | 
| �bersicht Algarve-Rundfahrt (POR), 2023 | ||