Geraint Thomas je došao do druge uzastopne etapne pobjede nakon što je u uzbudljivom sprinterskom finišu na Alpe d'Huezu pobijedio glavne konkurente u borbi za žutu majicu.
Tokom cijelog završnog uspona Team Sky je kontrolirao utrku i zatvarao napade konkurencije. Izmjenjivali su se napadi konkurenata, prvo je probao Quintana (Movistar) pa Nibali (Bahrein-Merida) a zatim Bardet (Ag2R La Mondiale) ali ništa nije donijelo opipljivu prednost.
Ubrzanja Thomasa, Bardeta i Froomea prekinula su grupu na samo tri vozača plus Tom Dumoulin (Team Sunweb) i povremeno, Mikel Landa (Movistar) tokom posljednja 4 kilometra. Sva petorica vozača pokrenula su napade u posljednjim kilometrima, ali nitko nije uspio ostvariti prednost dok su se približavali cilju na Alpe d'Huezu.
U cilju Thomas je odlično tempirao svoj završni sprint tako što je u zadnjem lijevom zavoju 200m prije cilja ušao prvi i tako slavljenički prošao kroz cilj. Drugi je bio Dumoulin, treći Bardet dok je Chris Froome prošao ciljem kao četvrti.
Geraint Thomas je ovime učvrstio žutu majicu sa 1:39 ispred Froomea i 1:50 ispred Dumoulina. Nakon utrke Velšanin je izjavio da usprkos žutoj majici, i dalje vozi za Froomea.
12. etapa: Bourg-St-Maurice to Alpe d’Huez, 175.5km
1. Geraint Thomas (GBr) Team Sky, 5:18:37
2. Tom Dumoulin (Ned) Team Sunweb, 2 s
3. Romain Bardet (Fra) AG2R La Mondiale, 3 s
4. Chris Froome (GBr) Team Sky, /
5. Mikel Landa (Esp) Movistar, 7 s
6. Primož Roglič (Slo) LottoNL-Jumbo, 13 s
7. Vincenzo Nibali (Ita) Bahrain-Merida, /
8. Jakob Fuglsang (Den) Astana Pro Team, 42 s
9. Nairo Quintana (Col) Movistar Team, 47 s
10. Steven Kruijswijk (Ned) LottoNL-Jumbo, 53 s
Generalni poredak nakon 12. etape
1. Geraint Thomas (GBr) Team Sky, 49:24:43
2. Chris Froome (GBr) Team Sky, 1:39
3. Tom Dumoulin (Ned) Team Sunweb, 1:50
4. Vincenzo Nibali (Ita) Bahrain-Merida, 2:37
5. Primož Roglič (Slo) LottoNL-Jumbo, 2:47
6. Romain Bardet (Fra) Ag2r La Mondiale, 3:07
7. Mikel Landa (Esp) Movistar, 3:13
8. Steven Kruijswijk (Ned) LottoNL-Jumbo, 3:43
9. Nairo Quintana (Col) Movistar, 4:13
10. Daniel Martin (Irl) UAE Team Emirates, 5:11