They repeatedly attacked one another during the final sections of steep five-kilometre climb to the Basilica at Superga, above the city of Torino, but it was the Colombian who proved the strongest of the pair and finished nine seconds ahead with enough time to comfortably celebrate his win over Woods. Cannondale-Drapac's Rigoberto Uran crossed the line in third place another five seconds back.
"Thanks to the team I achieved this magnificent victory here today despite the loss of Michele Scarponi who crashed – I dedicate this achievement to him," Lopez said.
"Diego Rosa, who was also involved in the crash, did a tremendous job for me as well as Dario Cataldo in bringing back the breakaway. We always speak during the race, that enabled us to change tactic on the way... It was smart to try to go away before the final ascent. I didn't expect to win today. It's beautiful."
Milano-Torino marked the next event in a series of late-September races held across Italy before the final WorldTour round at Il Lombardia this weekend.
The 186km route was held over relatively flat terrain until the final third of the race with a small climb over La Fabrica before taking on the final two ascents to Superga. The latter was 4.9km and averaged 10 per cent with grades as steep as 14.
A mid-race crash saw Adriano Malori (Movistar) and Michele Scarponi (Astana) go down. Malori was reported to have sustained a broken collarbone and was taken to hospital by ambulance.
A three-man move of Eduard Grosu (Nippo Vini Fantini,) Peter Kennaugh (Team Sky) and Alessandro De Marchi (BMC) pushed their breakaway lead out to nearly nine minutes. But even an advantage that big proved to be too little for a course that ended on such challenging terrain, and with teams Tinkoff, AG2R La Mondiale, Trek-Segafredo, Bardiani CSF and Cannondale-Drapac setting up a chase behind for their climbers, that gap was slashed to only two minutes as they approached the first climb to Superga.
Kennaugh attacked his breakaway companions and cleared the way for a solo move on the first trip up Superga, pushing on the climb and quickly building a lead on Grosu and De Marchi, but his lead back to the main field dropped to roughly 1:30 as he reached the mid-way point on the the climb inside 20km to go.
Trek-Segafredo led what was left of the main field over the final sections of that climb. Eduardo Zardini (Bardiani CSF) made a move from that group and no one joined him as he caught and passed stragglers De Marchi and Grosu, who struggled after spending so much of their energy in the day's breakaway.
Kennaugh's gap continued to drop to 30 seconds over Zardini, who managed to build only 30 seconds on the field behind. The Italian took in water bottles over the top as Astana led the field of about 30 riders only a few feet from his back wheel.
Kennaugh took some risks on the tricky descent, leaning into each tight corner to hold 18 seconds over the Astana-led peloton, but with only 14km to go and one last, decisive climb to the finish, his efforts seemed useless in holding off the charging field full of the climbing favourites.
The technical descent caused the main group split further and the gap to Kennaugh closed down to just a handful of seconds at the bottom, with 10km to go.
Astana were the team to beat with defending champion Diego Rosa, Fabio Aru and Lopez all in the mix at the base of the last climb. AG2R La Mondiale were the first to attack and forced a small front group of 11 quality riders to detached off the front of the race.
Cannondale-Drapac had two cards to play with Uran and Woods. It was the Canadian who made the first bid for glory on the steep slopes to Superga but with four kilometres to go, it was a big roll of the dice. After an initial out-of-the-saddle effort on the climb, Woods looked over his shoulder saw that he had cleared the group, and he sat down to settle into a more controlled rhythm. Astana's Lopez quickly emerged behind in an effort to bridge across to Woods.
Woods got out of his saddle to push on through the steeper sections, and forced Lopez to work harder to close the gap but the Colombian made the junction with just over two kilometres to the line.
There was a brief partnership between the two riders but all bets were off when Lopez attacked to try and shake Woods from his wheel. The two wrestled into the final kilometre and a half but Woods sat tight onto Lopez's back wheel.
"I knew Rigo was going really well, he was really strong, so I figured that if I could put the pressure on and force other teams to do the work, then Rigo would get a bit more of a ride. Lopez bridge up to be and I didn't want to pull through because I knew Rigo was going really well," Woods said.
Hubert Dupont (AG2R La Mondiale), Matvey Mamykin (Katusha) and Alessio Taliani (Androni Giocattoli - Sidermec) formed the next chase but they were quickly caught by the heavy-hitting climbers.
Bardet jumped out of that group in pursuit of the two leaders Woods and Lopez, while Uran sat in, knowing he had a strong card to play in Woods up the road.
Lopez attacked Woods again but the Cannondale rider managed to hang on through the final kilometre. Woods made a last bid for the win with 700 metres to go but the attack wasn't strong enough to rid himself of Lopez. The Astana man made his last, winning attack, and proved to be the better of the two as he raced toward the finish line alone.
|#||Rider Name (Country) Team||Result|
|1||Miguel Angel Lopez (Col) Astana Pro Team||4:13:36|
|2||Michael Woods (Can) Cannondale-Drapac||0:00:09|
|3||Rigoberto Uran (Col) Cannondale-Drapac||0:00:14|
|4||Daniel Moreno (Spa) Movistar Team||0:00:19|
|5||Diego Ulissi (Ita) Lampre - Merida||0:00:21|
|6||Fabio Aru (Ita) Astana Pro Team||0:00:23|
|7||Pello Bilbao (Spa) Caja Rural-Seguros RGA||0:00:27|
|8||Rodolfo Andres Torres (Col) Androni Giocattoli - Sidermec||0:00:32|
|9||Romain Bardet (Fra) AG2R La Mondiale||0:00:36|
|10||Warren Barguil (Fra) Team Giant-Alpecin||0:00:40|
|11||Sergio Pardilla (Spa) Caja Rural-Seguros RGA|
|12||Leopold Konig (Cze) Team Sky|
|13||Domenico Pozzovivo (Ita) AG2R La Mondiale||0:00:47|
|14||Giovanni Visconti (Ita) Movistar Team||0:00:52|
|15||Franco Pellizotti (Ita) Androni Giocattoli - Sidermec||0:01:02|
|16||Alessio Taliani (Ita) Androni Giocattoli - Sidermec||0:01:10|
|17||Daniel Martínez (Col) Wilier Triestina-Southeast|
|18||Pierre-Roger Latour (Fra) AG2R La Mondiale||0:01:14|
|19||Ben Hermans (Bel) BMC Racing Team||0:01:24|
|20||Damiano Cunego (Ita) Nippo - Vini Fantini||0:01:26|
|21||Diego Rosa (Ita) Astana Pro Team||0:01:29|
|22||Angel Madrazo Ruiz (Spa) Caja Rural-Seguros RGA||0:01:37|
|23||Sam Oomen (Ned) Team Giant-Alpecin||0:01:43|
|24||Matvey Mamykin (Rus) Team Katusha||0:01:59|
|25||Hubert Dupont (Fra) AG2R La Mondiale|
|26||Alexis Vuillermoz (Fra) AG2R La Mondiale||0:02:06|
|27||Manuel Senni (Ita) BMC Racing Team||0:02:07|
|28||Edoardo Zardini (Ita) Bardiani CSF||0:02:14|
|29||Darwin Atapuma (Col) BMC Racing Team||0:03:24|
|30||Mikael Cherel (Fra) AG2R La Mondiale||0:03:26|
|31||Przemyslaw Niemiec (Pol) Lampre - Merida||0:03:28|
|32||Frank Schleck (Lux) Trek-Segafredo|
|33||Mikel Landa Meana (Spa) Team Sky||0:04:04|
|34||Davide Villella (Ita) Cannondale-Drapac||0:04:14|
|35||Tanel Kangert (Est) Astana Pro Team||0:04:21|
|36||Cristian Rodriguez (Spa) Wilier Triestina-Southeast||0:04:58|
|37||Peter Kennaugh (GBr) Team Sky||0:05:22|
|38||Javier Moreno (Spa) Movistar Team||0:05:34|
|39||Tobias Ludvigsson (Swe) Team Giant-Alpecin||0:05:42|
|40||Jesper Hansen (Den) Tinkoff Team|
|41||Rafal Majka (Pol) Tinkoff Team|
|42||Davide Formolo (Ita) Cannondale-Drapac||0:05:59|
|43||Sergey Firsanov (Rus) Gazprom-Rusvelo||0:06:32|
|44||Cristian Raileanu (Mda) Wilier Triestina-Southeast|
|45||Ryder Hesjedal (Can) Trek-Segafredo||0:06:40|
|46||Lorenzo Rota (Ita) Bardiani CSF||0:08:13|
|47||Stefano Pirazzi (Ita) Bardiani CSF|
|48||Simone Velasco (Ita) Bardiani CSF|
|49||Roman Kreuziger (Cze) Tinkoff Team||0:08:14|
|50||Julien Bernard (Fra) Trek-Segafredo|
|51||Haimar Zubeldia (Spa) Trek-Segafredo|
|52||Simon Geschke (Ger) Team Giant-Alpecin|
|53||Michal Golas (Pol) Team Sky|
|54||Jan Hirt (Cze) CCC Sprandi Polkowice|
|55||Aydar Zakarin (Rus) Gazprom-Rusvelo|
|56||Simone Petilli (Ita) Lampre - Merida|
|57||Laurent Didier (Lux) Trek-Segafredo|
|58||Julen Amezqueta (Spa) Wilier Triestina-Southeast|
|59||Wouter Poels (Ned) Team Sky|
|60||Gianfranco Zilioli (Ita) Nippo - Vini Fantini|
|61||Riccardo Zoidl (Aut) Trek-Segafredo|
|62||Andre Cardoso (Por) Cannondale-Drapac|
|63||Dayer Quintana (Col) Movistar Team|
|64||Víctor De La Parte (Spa) CCC Sprandi Polkowice|
|65||David Arroyo (Spa) Caja Rural-Seguros RGA|
|66||Kristoffer Skjerping (Nor) Cannondale-Drapac|
|67||Cyril Gautier (Fra) AG2R La Mondiale|
|68||Mikel Nieve (Spa) Team Sky|
|69||Sergio Paulinho (Por) Tinkoff Team|
|70||Dylan Teuns (Bel) BMC Racing Team|
|71||Amaël Moinard (Fra) BMC Racing Team|
|72||Vasil Kiryienka (Blr) Team Sky||0:10:09|
|73||Pawel Poljanski (Pol) Tinkoff Team||0:10:15|
|74||Lorenzo Fortunato (Ita) Tinkoff Team|
|75||Fredrik Ludvigsson (Swe) Team Giant-Alpecin||0:10:31|
|76||Davide Rebellin (Ita) CCC Sprandi Polkowice||0:11:21|
|77||Peter Velits (Svk) BMC Racing Team||0:11:38|
|78||Yonder Godoy (Ven) Wilier Triestina-Southeast|
|79||Alberto Nardin (Ita) Androni Giocattoli - Sidermec||0:11:39|
|80||Sindre Skjoestad Lunke (Nor) Team Giant-Alpecin|
|81||Matteo Draperi (Ita) Wilier Triestina-Southeast|
|82||Branislau Samoilau (Blr) CCC Sprandi Polkowice|
|83||Martijn Tusveld (Ned) Team Giant-Alpecin|
|84||Felix Grosschartner (Aut) CCC Sprandi Polkowice|
|85||Egor Silin (Rus) Team Katusha|
|86||Alexander Foliforov (Rus) Gazprom-Rusvelo|
|87||Artem Ovechkin (Rus) Gazprom-Rusvelo|
|88||Adrian Honkisz (Pol) CCC Sprandi Polkowice|
|89||Sylwester Szmyd (Pol) CCC Sprandi Polkowice|
|90||Artur Ershov (Rus) Gazprom-Rusvelo|
|91||Rein Taaramae (Est) Team Katusha|
|92||Pavel Brutt (Rus) Tinkoff Team||0:11:45|
|93||Tiago Machado (Por) Team Katusha||0:11:56|
|94||Matteo Montaguti (Ita) AG2R La Mondiale||0:12:01|
|95||Alessandro De Marchi (Ita) BMC Racing Team|
|96||Samuel Sanchez (Spa) BMC Racing Team||0:16:41|
|97||Marcin Mrozek (Pol) CCC Sprandi Polkowice|
|DNF||Dario Cataldo (Ita) Astana Pro Team|
|DNF||Jakob Fuglsang (Den) Astana Pro Team|
|DNF||Michele Scarponi (Ita) Astana Pro Team|
|DNF||Alessandro Vanotti (Ita) Astana Pro Team|
|DNF||Marco Bandiera (Ita) Androni Giocattoli - Sidermec|
|DNF||Francesco Gavazzi (Ita) Androni Giocattoli - Sidermec|
|DNF||Mirko Selvaggi (Ita) Androni Giocattoli - Sidermec|
|DNF||Serghei Tvetcov (Rom) Androni Giocattoli - Sidermec|
|DNF||Simone Andreetta (Ita) Bardiani CSF|
|DNF||Enrico Barbin (Ita) Bardiani CSF|
|DNF||Francesco Manuel Bongiorno (Ita) Bardiani CSF|
|DNF||Mirco Maestri (Ita) Bardiani CSF|
|DNF||Eduard Prades (Spa) Caja Rural-Seguros RGA|
|DNF||Jaime Roson (Spa) Caja Rural-Seguros RGA|
|DNF||Ricardo Vilela (Por) Caja Rural-Seguros RGA|
|DNF||Matti Breschel (Den) Cannondale-Drapac|
|DNF||Toms Skujins (Lat) Cannondale-Drapac|
|DNF||Alexander Evtushenko (Rus) Gazprom-Rusvelo|
|DNF||Alexander Serov (Rus) Gazprom-Rusvelo|
|DNF||Kirill Sveshnikov (Rus) Gazprom-Rusvelo|
|DNF||Mattia Cattaneo (Ita) Lampre - Merida|
|DNF||Kristijan Durasek (Cro) Lampre - Merida|
|DNF||Rui Costa (Por) Lampre - Merida|
|DNF||Manuele Mori (Ita) Lampre - Merida|
|DNF||Jan Polanc (Slo) Lampre - Merida|
|DNF||Jonathan Castroviejo (Spa) Movistar Team|
|DNF||Adriano Malori (Ita) Movistar Team|
|DNF||Carlos Betancur (Col) Movistar Team|
|DNF||Ruben Fernandez (Spa) Movistar Team|
|DNF||Alessandro Bisolti (Ita) Nippo - Vini Fantini|
|DNF||Genki Yamamoto (Jpn) Nippo - Vini Fantini|
|DNF||Pier Paolo De Negri (Ita) Nippo - Vini Fantini|
|DNF||Iuri Filosi (Ita) Nippo - Vini Fantini|
|DNF||Eduard Michael Grosu (Rom) Nippo - Vini Fantini|
|DNF||Yuma Koishi (Jpn) Nippo - Vini Fantini|
|DNF||Joaquin Rodriguez (Spa) Team Katusha|
|DNF||Dmitrii Kozonchuk (Rus) Team Katusha|
|DNF||Alberto Losada (Spa) Team Katusha|
|DNF||Angel Vicioso (Spa) Team Katusha|
|DNF||David Lopez Garcia (Spa) Team Sky|
|DNF||Davide Ballerini (Ita) Tinkoff Team|
|DNF||Giacomo Nizzolo (Ita) Trek-Segafredo|
|DNF||Eugenio Alafaci (Ita) Trek-Segafredo|
|DNF||Andrea Fedi (Ita) Wilier Triestina-Southeast|
Latest on Cyclingnews
Vos aims to win Women's WorldTour title at Tour of GuangxiCCC-Liv rider trails Annemiek van Vleuten by five points ahead of final round
UCI suspends Raúl Alarcón for potential doping violationSpaniard suspended for 'use of prohibited method and/or prohibited substances'
Peter Sagan to attend Giro d'Italia 2020 presentation ahead of rumoured debutThree-time world champion is expected to ride the corsa rosa 'sooner or later'
Groenewegen extends with Jumbo-Visma through 2023'I'm still getting stronger' says Dutch sprinter