Polak, dla którego Volta ao Algarve jest drugim wyścigiem tego sezonu, wygrał etap z metą na Foia, który kończył się 15-kilometrową wspinaczką. Kolarz Team Sky wykorzystał znakomitą pracę swoich kolegów, w tym Michała Gołasia i Łukasza Wiśniowskiego, którzy na ostatnim podjeździe skasowali ucieczkę, a potem narzucili mocne tempo, uszczuplając zasadniczą grupę do kilkunastu kolarzy.
Na nieco bardziej płaskim finiszu Polak ruszył do przodu na 200 metrów przed metą, mając na plecach Daniela Martina (UAE Team Emirates) i Baukę Mollemę (Trek-Segafredo), a także swojego kolegę z ekipy, Gerainta Thomasa. Kwiatkowski zyskał kilkumetrową przewagę na ostatnim odcinku i do mety jej już nie oddał, finiszując przed Mollemą i Thomasem.
W klasyfikacji generalnej po dwóch etapach prowadzi Thomas, a Kwiatkowski jest trzeci. Drugi jest Jamie Roson (Movistar), a cała trójka ma ten sam czas. Na 81. miejscu plasuje się Gołaś, a 86. jest Wiśniowski.
Wyniki 2. etapu:
1 Michał Kwiatkowski (Pol) Team Sky 4:49:51
2 Bauke Mollema (Ned) Trek-Segafredo
3 Geraint Thomas (GBr) Team Sky
4 Dan Martin (Irl) UAE Team Emirates
5 Jaime Roson (Spa) Movistar Team
6 Patrick Konrad (Aut) Bora-Hansgrohe 0:00:03
7 Bob Jungels (Lux) Quick-Step Floors
8 Pieter Serry (Bel) Quick-Step Floors
9 Vicente Rubio (Spa) LA Aluminios
10 Richie Porte (Aus) BMC Racing Team
Klasyfikacja generalna po 2. etapie:
1 Geraint Thomas (GBr) Team Sky 9:37:49
2 Jaime Roson (Spa) Movistar Team
3 Michał Kwiatkowski (Pol) Team Sky
4 Dan Martin (Irl) UAE Team Emirates
5 Bauke Mollema (Ned) Trek-Segafredo
6 Patrick Konrad (Aut) Bora-Hansgrohe
7 Bob Jungels (Lux) Quick-Step Floors
8 Pieter Serry (Bel) Quick-Step Floors
9 Vicente Rubio (Spa) LA Aluminios
10 Louis Meintjes (RSA) Dimension Data