Tegoroczne Tour de Pologne zaczęło się z wysokiego "C" - pierwszy etap prowadził z Lublina do Chełma, liczył aż 216 km i nie tylko otworzył ścianie w ramach Touru na tereny wschodnie, ale i zaoferował bardzo urozmaiconą trasę. Jednym z ciekawszych jej elementów był bez wątpienia finisz, który przypominał te z wyścigów klasycznych - prowadził nieco pod górę i pokryty był kostką brukową. Tuż po starcie pierwszego etapu zawiązała się też pierwsza ucieczka - w składzie Michał Paluta (reprezentacja Polski), Sean Bennett (Team Qhubeka NextHash) oraz Yevgeniy Fedorov (Astana – Premier Tech) - ten ostatni zgarnął po drodze komplet punktów na premii lotnej i górskiej, z kolei druga z premii górskich padła łupem Paluty. Ucieczka została skasowana dość szybko, bo już na 50 km przed metą. Ściganie zaczęło się zatem na nowo - do kolejnej premii lotnej dojechał już cały peleton, z którego najlepiej zaatakował Michał Kwiatkowski (INEOS Grenadiers) i zgarnął komplet punktów. Dalej było sporo skoków i prób ataków. Finalnie do pętli w Chełmie dojechał cały peleton, a na trudnym finiszu najlepszy okazał się Niemiec Phil Bauhaus (Bahrain – Victorious), który uprzedził inicjatora finalnego ataku Álvaro José Hodega (Deceuninck – Quick Step).
Drugi etap Wyścigu dookoła Polski okazał się niemniej ciekawy pod względem trasy, ale i przebiegu samego widowiska. Tym razem na zawodników czekał odcinek nieco ponad 200 km z Zamościa do Przemyśla. Po drodze dwie lotne i trzy górskie premie, a wisienką na torcie był finisz o długości 1,5 km pod górę z nachyleniami sięgającymi maksymalnie 15 stopni. Komentatorzy byli zgodni co do klasycznego profilu tej trasy i zacierali ręce na finalne rozstrzygnięcia. Ucieczka na drugim etapie również zawiązała się od startu, ponownie kręcił w niej reprezentant Polski - tym razem był to Patryk Stosz. Ponownie jednak peleton był dla uciekinierów bezlitosny i stosunkowo szybko ich dogonił. Najwięcej emocji ponownie przyniosła finałowa runda - w Przemyślu jako pierwszy zaatakował João Almeida (Deceuninck – Quick Step), za którym od peletonu odrywali się jeszcze z atakami Matej Mohorič (Bahrain – Victorious) i Diego Ulissi (UAE-Team Emirates), z którym próbował oderwać się nieskutecznie Michał Kwiatkowski. Ostatecznie Almeida dociągnął swój atak do kreski, wygrał etap i został nowym liderem wyścigu. Za nim finiszował Ulissi i Mohoric, a 4 sekundy za tym trio dojechał Michał Kwiatkowski. Podium w Przemyślu stanowiło też nowy kształt czołówki klasyfikacji generalnej.
Etap 3. to 225 km z Sanoka do Rzeszowa z finiszem typowo sprinterskim. Taki też pojedynek mieliśmy okazję oglądać w Rzeszowie, chociaż po drodze do niego peleton napotkał kilka podjazdów, w tym 3. górskie premie, po drodze mieliśmy okazję oglądać też aż 10-osobową ucieczkę, której akcja stanowiła najciekawszy punkt rywalizacji podczas długiego etapu. Uciekinierzy zostli skasowani dopiero 3 km przed metą. Na kresce najlepszy okazał się Fernando Gaviria (UAE-Team Emirates), natomiast kształt klasyfikacji generalnej nie uległ zmianie.
Etap numer 4 prowadził z Tarnowa do Bukowiny Tatrzańskiej i liczył 156 km - profil trasy był lekko pagórkowaty, a finisz rozpisano na niedługim, ale bardzo istotnym podjeździe. Początkowe próby uformowania ucieczki nie przynosiły efektu. Pierwszą premię górską pokonał więc cały peleton, a po komplet punktów w tej klasyfikacji skutecznie skoczył jej dotychczasowy lider - Łukasz Owsian z reprezentacji Polski. Niedługo później zawiązała się ucieczka, która kręciła przed peletonem praktycznie do ostatniej premii górskiej przed finiszem - tuż za wspomnianą premią w Łapszance peleton dogonił najbardziej wytrwałego z uciekinierów - Attila Valtera (Groupama – FDJ). Peleton wjechał na finałowy podjazd z ronda "dolnego" w Bukowinie Tatrzańskiej, tam tempo wzrosło i rozpoczęły się próby ataków, zainicjowane przez Macieja Paterskiego. Ostatecznie do kreski dojechał peleton, z którego najlepiej zafiniszował lider wyścigu João Almeida (Deceuninck-Quick-Step), który jednocześnie umocnił swoje prowadzenie w generalce.
Etap 5. przyniósł kilka większych i kultowych podjazdów, takich jak przełęcz Krowiarki obok Babiej Góry oraz słynne wzniesienia Beskidu Śląskiego - Kocierz i Przegibek. Dystans do pokonania podczas piątego dnia zmagań wynosił 172 km i wieńczył go finisz na ulicach Bielska-Białej. Góry na etapie postanowił wykorzystać na swoje konto lider klasyfikacji górskiej Łukasz Owsian, który zabrał się w ucieczkę dnia. Polak wywalczył też komplet punktów na pierwszej przełęczy - Krowiarki. Na kolejnej premii na Kocierzu Owsian był drugi, a już finałową premię Przegibek łączącą Międzybrodzie Bialskie z Bielskiem-Białą Polak wygrał i praktycznie zagwarantował sobie tym samym wygraną w klasyfikacji najlepszego górala wyścigu. 32 km przed metą naciągnięty peleton wchłonął uciekinierów. Rozpoczęły się kolejne próby ataków, aktywnie jechał m.in. Tomasz Marczyński. Ostatecznie walka o zwycięstwo etapowe rozegrała się z peletonu, z którego najszybszy na kresce okazał się Nikias Arndt (Team DSM).
Sobotni etap numer 6 to jazda indywidualna na czas, która po raz pierwszy rozgrywana była na szosach Katowic - 19 km odcinek był prosty technicznie, ale jak zawsze mógł przynieść zmiany w klasyfikacji generalnej - oczywiście na korzyść speców od samotnej walki z czasem. Próbę czasową najlepiej znieśli zawodnicy Deceuninck – Quick Step, którzy zgarnęli dwa pierwsze miejsca - Remi Cavagna wygrał, a ze stratą 13 sekund za nim uplasował się jego kolega z ekipy i lider wyścigu João Almeida, który ponownie umocnił się na prowadzeniu w generalce. Podium w tym dniu zamknął Maciej Bodnar (BORA – hansgrohe), a Michał Kwiatkowski za sprawą swojego 5. miejsca i odrobienia do Ulissiego całej straty w generalce wskoczył na podium ostatecznej klasyfikacji.
Ostatni etap miał być w zasadzie formalnością w sukcesie Almeidy - był to stosunkowo łatwy odcinek z Zabrza do Krakowa liczący niespełna 150 km. W ucieczce dnia znalazło się 5 zawodników, których przewaga wydawała się być kontrolowana przez peleton. Dlatego też zaskakującym było to, co działo się na ostatnich kilometrach etapu i finałowych rundach wyścigu rozpisanych w Krakowie - tam ucieczka zaskakująco długo zaczęła utrzymywać przewagę niespełna minuty. Ostatecznie w Krakowie harcownicy ubiegli peleton, a etap padł łupem Julius van den Berga (EF Education – Nippo).
Klasyfikacja generalna CARREFOUR po ostatnim etapie nie uległa zmianie - Tour de Pologne 2021 w dobrym stylu wygrywa Joao Almeida (Deceuninck – Quick Step). Portugalczyk notuje 20 sekund przewagi nad Matejem Mohoricem (Bahrain – Victorious) i 27 sekund nad Michałem Kwiatkowskim (Ineos Grenadiers). Almeida wygrywa też przy okazji klasyfikację punktową - tuż przed Michałem Kwiatkowskim. Wielkie brawa dla Łukasza Owsiana za zdecydowaną wygraną w klasyfikacji górskiej!