At the front, Amador’s chasing group almost latched onto Rolland’s group, but the Frenchman went solo just as contact was made.
Fraile bridged across as the summit of the climb approached, claiming more climbing points, and the duo held a steady gap on the rapid descent to the finish.
Back in the pink jersey group, Pinot was the man to attack and took the descent alone – and the successful chase behind him extinguished any hopes Kruijswijk and Thomas had of getting back to the front group.
It was rapidly becoming a tale of two races, and in the race for the stage win Costa did well to chase back on to Fraile and Rolland.
As the front three began attacking each other, however, the chasing group got closer and closer and Tanel Kangert (Astana) took the opportunity to bridge across under the flamme rouge.
Kangert led the sprint out, but Fraile dug deep to seal an incredible ride with a stage victory.
The GC men followed shortly afterwards, with Dumoulin safely tucked up with his lead intact, while Thomas and Kruijswijk had joined forces to cut their losses – another hit to their GC hopes, but not the terminal one it had appeared to be at one point.
Giro d’Italia 2017: stage 11 – result
1) Omar Fraile (ESP) – Dimension Data – 4.23.14hrs
2) Rui Costa (POR) – UAE Team Emirates – ST
3) Pierre Rolland (FRA) – Cannondale-Drapac
4) Tanel Kangert (EST) – Astana
5) Giovanni Visconti (ITA) – Bahrain-Merida
6) Ben Hermans (BEL) – BMC Racing
7) Dario Cataldo (ITA) – Astana
8) Simone Petilli (ITA) – UAE Team Emirates
9) Maxime Monfort (BEL) – Lotto-Soudal +3”
10) Laurens de Plus (BEL) – QuickStep Floors
General classification
1) Tom Dumoulin (NED) – Team Sunweb – 47.22.07hrs
2) Nairo Quintana (COL) – Movistar +2.23
3) Bauke Mollema (NED) – Trek-Segafredo +2.38
4) Thibaut Pinot (FRA) – FDJ +2.40
5) Vincenzo Nibali (ITA) – Bahrain-Merida +2.47
6) Andrey Amador (CRC) – Movistar +3.05
7) Bob Jungels (LUX) – QuickStep Floors +3.56
8) Tanel Kangert (EST) – Astana +3.59
9) Domenico Pozzovivo (ITA) – Ag2r-La Mondiale +4.05
10) Inur Zakarin (RUS) – Katusha +4.17