Etap, na którym uciekali Adrian Kurek (Reprezentacja Polski), Charles Planet (Team NovoNordisk) i Evgeny Shalunov (Gazprom Rusvelo), zakończył się finiszem z peletonu, na którym najszybszy był Jakobsen, jednak decyzją sędziów został przesunięty na ostatnie miejsce w peletonie za nieprawidłowy finisz. Jego miejsce na najwyższym stopniu podium zajął drugi na kresce, Ackermann, jadący w koszulce lidera wyścigu.
Jeszcze w trakcie etapu radio wyścigu podało informację o bardzo poważnym wypadku Bjorga Lambrechta (Lotto Soudal). Gdy młody Belg, który upadł na 48 kilometrze trasy z Chorzowa do Zabrza, walczył o życie, peleton zbliżał się do mety. Uciekinierzy zostali doścignięci na ostatnich pięciu kilometrach i do walki o kolejne zwycięstwo etapowe ruszyli sprinterzy. Po zaciętej walce najszybszy był Jakobsen, jednak sędziowie dopatrzyli się nieprzepisowej jazdy Holendra i przesunęli go na ostatnie miejsce w zasadniczej grupie.
Zwycięstwo, już drugie w tym wyścigu, przypadło w udziale Ackermannowi, który minął kreskę jako drugi. Jednak wobec tragicznych wieści o śmierci Lambrechta, który zmarł w szpitalu w Rybniku, Niemiec nie celebrował na podium, a cała ceremonia została odwołana.
W klasyfikacji generalnej prowadzi wciąż Ackermann, który ma 12 sekund przewagi nad Fernando Gavirią (UAE Team Emirates) i 14 nad Luką Mezgecem (Mitchelton-Scott). Tuż za podium jest najlepszy z Polaków, Paweł Franczak (Reprezentacja Polski), który do lidera traci 16 sekund.
Wyniki 3. etapu:
Klasyfikacja generalna po 3. etapie: