Pogacar a devancé Simon Yates (BikeExchange) et Sergio Higuita (Education First-Nippo). Le Slovène fait coup double et prend la tête du classement général au détriment de Wout van Aert, 9e de l'étape à 45 secondes. Dès les premiers kilomètres, un groupe de quatre coureurs s'isolait en tête de la coure: Mattia Bais (Androni), Benjamin Thomas (Groupama-FDJ), Mads Würtz Schmidt (Israel Start-Up Nation) et Emil Vinjebo (Qhubeka Assos). Parti en contre, Marco Canola (Gazprom-RusVelo) venait s'ajouter au groupe de tête quelques kilomètres plus loin.

Après avoir compté plus de 9 minutes de retard, le peloton réduisait quelque peu l'écart sous l'impulsion d'UAE Emirates mais la victoire était encore possible pour l'échappée qui ne comptait plus que Thomas, Bais et Würtz Schmidt dans ses rangs.

À 14 kilomètres de la ligne, Thomas et Würtz Schmidt se débarrassaient de Bais. Le Norvégien plaçait ensuite une accélération et s"isolait en tête à 12 km de l'arrivée. Dans le peloton, Egan Bernal tentait une attaque et était suivi par Tadej Pogacar mais les deux hommes étaient rapidement repris par un groupe composé de Wout van Aert, leader du général.

C'était ensuite au tour de Geraint Thomas (Ineos Grenadiers) de tenter sa chance mais Tadej Pogacar répondait en contre et filait vers la victoire. Derrière, Simon Yates, le tenant du titre, partait lui aussi en contre et Wout van Aert résistait au milieu des meilleurs grimpeurs du peloton.

Pogacar résistait au retour de Yates pour décrocher la victoire et ainsi prendre la tête du classement général. Sergio Higuita complète le podium tandis que Wout van Aert échoue à la neuvième place à 45 secondes du Slovène. Au général, Pogacar devance Wout van Aert et Sergio Higuita de 35 secondes.

Dimanche, la 5e étape mènera le peloton entre Castellalto et Castelfidardo sur un parcours vallonné long de 205 km.