| 1 | - | | 27 | Caja Rural - Seguros RGA | 09:04:03 |
| 2 | - | | 27 | Efapel Cycling | + 29 |
| 3 | - | | 26 | Equipo Kern Pharma | + 38 |
| 4 | - | | 29 | Sabgal/Anicolor | + 40 |
| 5 | - | | 32 | Efapel Cycling | + 41 |
| 6 | - | | 31 | Sabgal/Anicolor | + 45 |
| 7 | - | | 30 | GI Group Holding - Simoldes - UDO | + 52 |
| 8 | - | | 28 | Caja Rural - Seguros RGA | + 55 |
| 9 | - | | 23 | Efapel Cycling | + 57 |
| 10 | - | | 28 | Sabgal/Anicolor | + 58 |
| 11 | - | | 25 | AP Hotels & Resorts / Tavira / SC Farense | " |
| 12 | - | | 26 | Aviludo - Louletano - Loulé Concelho | " |
| 13 | - | | 28 | Aviludo - Louletano - Loulé Concelho | " |
| 14 | - | | 34 | Burgos - BH | + 59 |
| 15 | - | | 23 | Radio Popular - Paredes - Boavista | + 01:00 |
| 16 | - | | 32 | Burgos - BH | " |
| 17 | - | | 23 | Burgos - BH | " |
| 18 | - | | 26 | Equipo Kern Pharma | + 01:02 |
| 19 | - | | 32 | Efapel Cycling | " |
| 20 | - | | 29 | Tavfer-Ovos Matinados-Mortágua | + 01:03 |
| 21 | - | | 24 | AP Hotels & Resorts / Tavira / SC Farense | + 01:05 |
| 22 | - | | 22 | ABTF Betão - Feirense | + 01:06 |
| 23 | - | | 23 | ABTF Betão - Feirense | + 01:08 |
| 24 | - | | 38 | Efapel Cycling | " |
| 25 | - | | 28 | Efapel Cycling | + 01:10 |
| 26 | - | | 31 | AP Hotels & Resorts / Tavira / SC Farense | + 01:11 |
| 27 | - | | 24 | Radio Popular - Paredes - Boavista | + 01:12 |
| 28 | - | | 24 | Radio Popular - Paredes - Boavista | + 01:14 |
| 29 | - | | 26 | Caja Rural - Seguros RGA | + 01:17 |
| 30 | - | | 29 | GI Group Holding - Simoldes - UDO | + 01:19 |
| 31 | - | | 34 | ABTF Betão - Feirense | + 01:22 |
| 32 | - | | 28 | Equipo Kern Pharma | + 01:27 |
| 33 | - | | 22 | Burgos - BH | + 01:29 |
| 34 | - | | 20 | Equipo Kern Pharma | " |
| 35 | - | | 23 | Credibom / La Aluminios / Marcos Car | " |
| 36 | - | | 29 | Aviludo - Louletano - Loulé Concelho | + 01:30 |
| 37 | - | | 37 | Radio Popular - Paredes - Boavista | " |
| 38 | - | | 38 | AP Hotels & Resorts / Tavira / SC Farense | + 01:32 |
| 39 | - | | 30 | AP Hotels & Resorts / Tavira / SC Farense | + 01:33 |
| 40 | - | | 23 | Credibom / La Aluminios / Marcos Car | + 01:34 |
| 41 | - | | 29 | Burgos - BH | " |
| 42 | - | | 23 | GI Group Holding - Simoldes - UDO | + 01:36 |
| 43 | - | | 26 | Sabgal/Anicolor | + 01:38 |
| 44 | - | | 25 | ABTF Betão - Feirense | + 01:39 |
| 45 | - | | 25 | Aviludo - Louletano - Loulé Concelho | + 01:48 |
| 46 | - | | 23 | | " |
| 47 | - | | 42 | Aviludo - Louletano - Loulé Concelho | + 01:50 |
| 48 | - | | 23 | ABTF Betão - Feirense | + 01:51 |
| 49 | - | | 24 | Radio Popular - Paredes - Boavista | + 01:54 |
| 50 | - | | 22 | ARA | Skip Capital | + 01:57 |
| 51 | - | | 24 | Burgos - BH | + 01:59 |
| 52 | - | | 18 | GI Group Holding - Simoldes - UDO | + 02:05 |
| 53 | - | | 27 | Equipo Kern Pharma | + 02:06 |
| 54 | - | | 29 | ABTF Betão - Feirense | + 02:08 |
| 55 | - | | 25 | Tavfer-Ovos Matinados-Mortágua | + 02:09 |
| 56 | - | | 22 | Credibom / La Aluminios / Marcos Car | + 02:36 |
| 57 | - | | 35 | | + 02:37 |
| 58 | - | | 22 | | + 02:48 |
| 59 | - | | 25 | ABTF Betão - Feirense | + 02:54 |
| 60 | - | | 24 | | + 02:55 |
| 61 | - | | 24 | | + 03:02 |
| 62 | - | | 18 | ARA | Skip Capital | + 03:14 |
| 63 | - | | 23 | Sabgal/Anicolor | + 03:58 |
| 64 | - | | 25 | Aviludo - Louletano - Loulé Concelho | + 04:58 |
| 65 | - | | 23 | | + 05:19 |
| 66 | - | | 21 | | + 05:47 |
| 67 | - | | 30 | Tavfer-Ovos Matinados-Mortágua | + 06:45 |
| 68 | - | | 23 | ARA | Skip Capital | + 06:49 |
| 69 | - | | 33 | Tavfer-Ovos Matinados-Mortágua | + 06:56 |
| 70 | - | | 21 | Equipo Kern Pharma | + 07:00 |
| 71 | - | | 36 | Tavfer-Ovos Matinados-Mortágua | + 07:02 |
| 72 | - | | 28 | AP Hotels & Resorts / Tavira / SC Farense | + 07:20 |
| 73 | - | | 23 | Efapel Cycling | + 07:37 |
| 74 | - | | 25 | | + 07:41 |
| 75 | - | | 20 | | + 09:21 |
| 76 | - | | 36 | Caja Rural - Seguros RGA | + 09:41 |
| 77 | - | | 21 | ARA | Skip Capital | + 09:46 |
| 78 | - | | 21 | Tavfer-Ovos Matinados-Mortágua | + 10:14 |
| 79 | - | | 18 | | + 10:16 |
| 80 | - | | 24 | Sabgal/Anicolor | + 10:56 |
| 81 | - | | 22 | Credibom / La Aluminios / Marcos Car | + 11:09 |
| 82 | - | | 42 | Credibom / La Aluminios / Marcos Car | + 11:10 |
| 83 | - | | 20 | AP Hotels & Resorts / Tavira / SC Farense | + 11:41 |
| 84 | - | | 28 | Caja Rural - Seguros RGA | + 12:58 |
| 85 | - | | 19 | | + 13:37 |
| 86 | - | | 22 | | + 14:18 |
| 87 | - | | 25 | Caja Rural - Seguros RGA | + 14:21 |
| 88 | - | | 25 | | + 14:53 |
| 89 | - | | 22 | Radio Popular - Paredes - Boavista | + 15:50 |
| 90 | - | | 18 | ARA | Skip Capital | + 16:24 |
| 91 | - | | 22 | | " |
| 92 | - | | 35 | GI Group Holding - Simoldes - UDO | + 16:39 |
| 93 | - | | 19 | GI Group Holding - Simoldes - UDO | + 17:00 |
| 94 | - | | 22 | Credibom / La Aluminios / Marcos Car | " |
| 95 | - | | 19 | ARA | Skip Capital | + 19:36 |
| 96 | - | | 20 | ARA | Skip Capital | + 19:37 |
| 97 | - | | 24 | Sabgal/Anicolor | + 23:05 |
| 98 | - | | 24 | | + 23:59 |
| 99 | - | | 25 | | + 24:32 |
| 100 | - | | 21 | | + 24:45 |
| 101 | - | | 24 | Aviludo - Louletano - Loulé Concelho | + 24:48 |
| 102 | - | | 21 | | + 25:01 |
| 103 | - | | 20 | Radio Popular - Paredes - Boavista | + 25:04 |
| 104 | - | | 19 | | " |
| 105 | - | | 18 | | + 25:06 |
| 106 | - | | 23 | | + 25:12 |
| 107 | - | | 19 | | + 25:35 |