La 4ème étape du Tour de Pologne était inhabituellement longue (201 km). Bien qu'il y ait eu trois côtes difficiles à mi-course, l'étape a ensuite été une affaire pour les plus rapides. A l'arrivée à Cieszyn, Paul Magnier (Soudal Quick-Step) s'est imposé au sprint sur une route en légère montée. Pour lui, c'était son premier succès sur le WorldTour.
Sur un dernier kilomètre sinueux, le Français s'est placé dans la roue arrière de Ben Turner (Ineos Grenadiers) et a accéléré dans son sillage avant le dernier virage à gauche pour ne plus être rattrapé dans les derniers mètres. Magnier l'a emporté haut la main avec plusieurs longueurs d'avance.
Turner, le vainqueur de l'étape de la veille, n'a finalement terminé que deuxième, la troisième place revenant à l'Allemand Tim Torn Teutenberg (Lidl - Trek) dans le sprint. Le vainqueur d'ouverture Olav Kooij (Visma | Lease a Bike) n'a pas participé au sprint final et a terminé avec 25 secondes de retard. Son coéquipier Matthew Brennan ne s'est pas non plus mêlé au sprint.
Paul Lapeira (Team Decathlon AG2R La Mondial) a défendu son maillot de leader. Il reste en tête avec huit secondes sur Victor Langellotti (Ineos Grenadiers), Jan Christen (UAE - Team Emirates - XRG) suit avec douze secondes.
| Pos. | Coureurs | Temps |
|---|---|---|
| 1 | Soudal Quick-Step | 04:36:09 |
| 2 | INEOS Grenadiers | +00:00:00 |
| 3 | Lidl - Trek | +00:00:00 |
| 4 | Groupama - FDJ | +00:00:00 |
| 5 | EF Education - EasyPost | +00:00:00 |
| 6 | Cofidis | +00:00:00 |
Au départ de l'étape à Rybnik, un groupe de tête entièrement polonais s'est formé, composé de Michal Pomorski et Pawel Bernas (équipe nationale polonaise) et Filip Maciejuk (Red Bull - Bora - hansgrohe). Le trio a rapidement creusé une avance de plus de trois minutes. Vers le milieu de la course, le terrain est devenu plus exigeant. Bernas a remporté la première étape de montagne après 90 kilomètres à Przełęcz Przegibek (1ère catégorie), puis 30 kilomètres plus tard, Maciejuk a gagné l'étape de montagne à Orle Gniazdo (2ème catégorie).
Le dernier classement de la journée était le col de Salmopol (1ère catégorie), qui attendait le peloton à 67 kilomètres de l'arrivée. Peu avant la montée, Pomorski a déjà perdu le contact avec ses deux compagnons d'échappée, mais le Belge Timo Kielich (Alpecin - Deceuninck), leader du classement de la montagne, est sorti du peloton et a remporté le classement de la montagne.
A 50 kilomètres de l'arrivée, Bernas a dû lâcher prise et peu après, Kielich s'est lui aussi fait reprendre par le peloton. Maciejuk a poursuivi sa fuite en solo. La finale s'est déroulée sur un circuit final de six kilomètres autour de l'arrivée à Cieszyn.
À 20 kilomètres de l'arrivée, Lorenzo Milesi (Team Movistar) est sorti du peloton pour rejoindre Maciejuk. Ensemble, ils ont défendu une avance de quelques secondes avant que leur échappée ne prenne fin à 2,3 kilomètres de l'arrivée. Maciejuk s'est donc retrouvé en tête pendant environ 195 kilomètres. L'arrivée de l'étape a ensuite été déterminée par les sprinteurs.