12. etap Giro d’Italia wiódł przez pagórki z Cunego do Pinerolo. Kolarze pokonywali jedną premię górską 1. kategorii, a rywalizację kończyli krótką ścianką tuż przed metą. W ucieczce dnia, która ostatecznie – choć nie w całości – dojechała do mety znajdowało się aż 25 kolarzy, w tym Benedetti. Włoch trzymał koło rywali na ściance przed metą, a na 200 metrów przed kreską wyszedł z koła Gianluce Brambilli (Trek-Segafredo) i mocnym finiszem zapewnił sobie pierwsze w karierze zwycięstwo etapowe w Wielkim Tourze.
Za plecami uciekinierów, którzy zyskali bardzo dużą, 15-minutową przewagę, peleton się porwał, było kilka grup pościgowych, rwała się także grupa faworytów wyścigu. Był wśród nich aktywnie jadący Majka, który trzymał się blisko czuba grupy i reagował na wszystkie ataki rywali, pilnując kolarzy z czołówki klasyfikacji generalnej.
Na metę grupa Majki wjechała ze stratą 8 minut, a wraz z Polakiem między innymi Primoz Roglic (Jumbo-Visma), Vincenzo Nibali (Bahrain-Merida) czy Simon Yates (Mitchelton-Scott). W klasyfikacji generalnej prowadzenie objął Jan Polanc (UAE Team Emirates), który odebrał maglia rosa koledze z ekipy, Valerio Contiemu. Majka awansował na 7. miejsce w generalce.
Wyniki 12. etapu
1 Cesare Benedetti (Ita) Bora-Hansgrohe 3:41:49
2 Damiano Caruso (Ita) Bahrain-Merida
3 Edward Dunbar (Irl) Team Ineos
4 Gianluca Brambilla (Ita) Trek-Segafredo 0:00:02
5 Eros Capecchi (Ita) Deceuninck-QuickStep 0:00:06
6 Jan Polanc (Slo) UAE Team Emirates 0:00:25
7 Matteo Montaguti (Ita) Androni Giocattoli-Sidermec 0:00:34
8 Thomas De Gendt (Bel) Lotto Soudal 0:02:36
9 Francesco Gavazzi (Ita) Androni Giocattoli-Sidermec
10 Manuel Senni (Ita) Bardiani CSF 0:02:38
Klasyfikacja generalna po 12. etapie:
1 Jan Polanc (Slo) UAE Team Emirates 48:49:40
2 Primoz Roglic (Slo) Team Jumbo-Visma 0:04:07
3 Valerio Conti (Ita) UAE Team Emirates 0:04:51
4 Eros Capecchi (Ita) Deceuninck-QuickStep 0:05:02
5 Vincenzo Nibali (Ita) Bahrain-Merida 0:05:51
6 Bauke Mollema (Ned) Trek-Segafredo 0:06:02
7 Rafał Majka (Pol) Bora-Hansgrohe 0:07:00
8 Richard Carapaz (Ecu) Movistar Team 0:07:23
9 Andrey Amador (CRc) Movistar Team 0:07:30
10 Hugh Carthy (GBr) EF Education First 0:07:33