Fausto Masnada (Androni Giocattoli–Sidermec) sprung from the leading group of favourites to snatch victory on stage three of the Tour of the Alps.
Attacking with just over 1km remaining, Masnada escaped on the flat after the final climb of the day as Vincenzo Nibali (Bahrain-Merida) and Rafał Majka (Bora-Hansgrohe) tested Pavel Sivakov's (Team Sky) grip on the leader's jersey.
However, with Chris Froome on domestique duty, the four-time Tour de France champion held the group together up the final climb to protect his team-mates' lead.
Tao Geoghegan Hart sprinted for the line from the group of favourites behind Masnada to finish second, taking six bonus seconds and moving up to fifth on GC, now two seconds ahead of Vincenzo Nibali.
The photo finish showed Majka finished third, claiming four bonus seconds followed by Nibali in fourth.
With Jan Hirt (Astana) finishing in the leading group, Sivakov's overall lead remains at eight seconds over the Czech, with two big days in the mountains left to race.
How it happened
The 106.3km stage provided a lumpy parcours, with a third category climb to Brusago with 60km remaining followed by a second category climb to Lago di Santa Colombia at just over 25km to go. The last 10km is a climb up to Montagnaga, which reaches gradients of nine per cent on the run-in to the finish.
Attacks started within the first few kilometres and a group of 12 escapees established themselves with a gap of 1-5o after 20km of racing. The breakaway consisted of: Antonio Nibali (Bahrain-Merida), Manuele Boaro (Astana), Evgeny Shalunov (Gazprom-RusVelo), Elie Gesbert Arkéa Samsic), Nicola Bagioli Nippo Vini Fantini Faizanè), Carlos Quintero (Manzana Postobon), Francesco Gavazzi (Androni Giocattoli-Sidermic), Nicolau Beltran (Caja Rural - Seguros RGA), Barcelo Aragon (Euskadi Basque Country - Murias), Simone Velasco (Neri Sottoli-Selle Italia - KTM), Michele Corradini (Italy), Tizza Marco (Italy).
On the approach to Lago di Santa Colombia, Gesbert accelerated, testing the breakaway's legs, before Antonio Nibali attacked with 1km to the summit. He opened up a 30-second gap on the remnants of the breakaway with the peloton 45 seconds behind with 10km to go.
As the peloton began to close in, Gesbert attacked again. With just under 8km to go the peloton had closed the gap to 30 seconds, when Hermann Pernesteiner (Bahrain-Merida) and Andrey Zeits (Astana) animating the race from the main bunch, quickly catching the former breakaway men who were trapped in no man's land between Gesbert and the peloton.
With 6km remaining, the race was all slowly coming back together when Rafał Majka attacked, catching Pernesteiner and Zeits with ease before bringing Gesbert back in as well. Vincenzo Nibali followed Majka, forcing Chris Froome to come to the front of the peloton to track them down as he looked to protect Sivakov's lead in the GC.
With Froome doing all of the work leading the group up the climb, Nibali attacked at 4.5km to go, with Majka following, but once again being reeled back in by Froome, who continued to perform domestique duties as they reached the top of the Montagnaga and on to the flat.
The front group looked set for a sprint finish, with the GC hopefuls primed to contest the bonus seconds available at the finish line, until Fausto Masnada sprung from the group with 1.5km remaining, soloing to the line to take the biggest win of his career to date and move into the top-10 of the overall classification.
Tour of the Alps 2019, stage three: Salorno to Salurn-Baselga di Pinè (106.3 km)
1 Fausto Masnada (Ita) Androni Giocattoli–Sidermec, in 2-58-08
2 Tao Geoghegan Hart (Gbr) Team Sky, at 5 seconds
3 Rafal Majka (Pol) Bora-Hansgrohe
4 Vincenzo Nibali (Ita) Bahrain-Merida
5 Dario Cataldo (Ita) Astana
6 Aleksandr Vlasov (Rus) Gazprom–RusVelo
7 Pavel Sivakov (Rus) Team Sky
8 Jan Hirt (Cze) Astana
9 Roland Thalmann (Sui) Akros–Thömus
10 Mattia Cattaneo (Ita) Androni Giocattoli–Sidermec, all at same time
General classification after stage three
1 Pavel Sivakov (Rus) Team Sky, in 11-27-08
2 Jan Hirt (Cze) Astana Pro Team, at 8s
3 Mattia Cattaneo (Ita) Androni Giocattoli-Sidermec, at 23s
4 Rafal Majka (Pol) Bora-Hansgrohe, at 35s
5 Tao Geoghegan Hart (GBr) Team Sky, at 37s
6 Vincenzo Nibali (Ita) Bahrain-Merida, at 39s
7 Hermann Pernsteiner (Aut) Bahrain-Merida, at 1-01
8 Roland Thalmann (Sui) Team Vorarlberg Santic, at 1-08
9 Aleksander Vlasov (Rus) Gazprom-RusVelo, at 1-24
10 Fausto Masnada (Ita) Androni Giocattoli-Sidermec, at 1-35
Thank you for reading 5 articles this month* Join now for unlimited access
Enjoy your first month for just £1 / $1 / €1
*Read 5 free articles per month without a subscription
Join now for unlimited access
Try first month for just £1 / $1 / €1
Hi. I'm Cycling Weekly's Weekend Editor. I like writing offbeat features and eating too much bread when working out on the road at bike races.
Before joining Cycling Weekly I worked at The Tab and I've also written for Vice, Time Out, and worked freelance for The Telegraph (I know, but I needed the money at the time so let me live).
I also worked for ITV Cycling between 2011-2018 on their Tour de France and Vuelta a España coverage. Sometimes I'd be helping the producers make the programme and other times I'd be getting the lunches. Just in case you were wondering - Phil Liggett and Paul Sherwen had the same ham sandwich every day, it was great.
Dan Bigham set to target Victor Campenaerts' Hour Record again
British record holder will aim for 55.090km in Grenchen, Switzerland next Friday
By Adam Becket • Published
Crossing countries with the new Garmin Edge 1040 Solar
How Garmin’s new flagship computer held up in CW’s race across Wales
By Cycling Weekly • Published