Carriera Gli esordi Dopo aver disputato qualche gare come stagista della FDJ nel 2010, passa professionista alla An Post–Sean Kelly a partire dalla stagione 2011. Inizia a farsi notare nel 2013 quando, durante la seconda tappa del Tour of Britain, attacca sullo strappo finale ma viene superato all'arrivo da Gerald Ciolek. Si impone quindi al termine della quinta tappa, caratterizzata una volata ristretta di una quindicina di corridori.
Nel 2014 passa al Team NetApp-Endura, squadra Professional Continental, e nel 2015, in maglia Bora-Argon 18, debutta al Tour de France, ritirandosi alla diciassettesima tappa dopo aver ottenuto come miglior risultato un decimo posto in volata. In stagione vince due tappe al Bayern Rundfahrt e la Parigi-Bourges. Nel 2016 si classifica centosettantaquattresimo, ovvero ultimo, al Tour de France, facendo comunque sua per il secondo anno la Parigi-Bourges.
Dal 2017: le prime vittorie nel World Tour
Ottiene il primo successo in una gara di World Tour nel 2017, imponendosi nella terza tappa della Parigi-Nizza. Debutta quindi al Giro d'Italia ottenendo un secondo e tre terzi posti in volata. Nel finale di stagione vince quattro tappe del Presidential Cycling Tour of Turkey, portando a dieci il numero di successi stagionali.
Nel 2018 torna a correre il Giro d'Italia, presentandosi al via senza aver ottenuto alcuna vittoria in stagione. Tuttavia nella corsa rosa dimostra un ottimo stato di forma: si impone nella settima tappa, a Praia a Mare, davanti a Elia Viviani, in una volata di gruppo; vince poi anche la dodicesima tappa, con arrivo nel circuito automobilistico di Imola, resistendo agli attacchi sulla salita dei Tre Monti, imponendosi in uno sprint di gruppo e infine anche la ventunesima e ultima frazione, a Roma, ancora con una volata di gruppo. In giugno si afferma alla Rund um Köln. Nel finale di stagione, come nell'annata precedente, partecipa al Presidential Cycling Tour of Turkey, dove si impone in 3 frazioni.
Nel 2019 coglie la prima vittoria stagionale in Argentina, nella tappa conclusiva della Vuelta a San Juan. In marzo ottiene altre 3 vittorie, 1 all'UAE Tour e 2 alla Parigi-Nizza; partecipa alla Milano-Sanremo, non ottenendo i risultati sperati. In aprile, partecipa al Presidential Cycling Tour of Turkey, dove conferma il feeling con la corsa vincendo le prime 2 tappe.
Palmarès Strada
2008 (dilettanti) Campionati irlandesi, prova in linea juniores
2009 (dilettanti) 7ª tappa FBD Insurance Rás (Castlebar > Clara) Tour of Ireland juniors
2010 (dilettanti) Campionati irlandesi, prova in linea under-23 4ª tappa Rhône-Alpes Isère Tour (Saint-Maurice-l'Exil > Charvieu-Chavagneux)
2011 (An Post-Sean Kelly Team, una vittoria) Grote Prijs Stad Geel
2013 (An Post-ChainReaction, tre vittorie) 3ª tappa An Post Rás (Nenagh > Listowel) 8ª tappa An Post Rás (Naas > Skerries) 5ª tappa Tour of Britain (Machynlleth > Caerphilly)
2014 (Team NetApp-Endura, tre vittorie) Clásica de Almería Rund um Köln 5ª tappa Bayern Rundfahrt (Wassertrüdingen > Norimberga)
2015 (Bora-Argon 18, cinque vittorie) 6ª tappa Tour of Qatar (Sealine Beach Resort > Doha Corniche) 1ª tappa Bayern Rundfahrt (Ratisbona > Waldsassen) 3ª tappa Bayern Rundfahrt (Selb > Ebern) 2ª tappa Arctic Race of Norway (Evenskjer > Setermoen) Parigi-Bourges
2016 (Bora-Argon 18, tre vittorie) 1ª tappa Critérium International (Porto Vecchio > Porto Vecchio) 2ª tappa Giro della Toscana (Montecatini Terme > Pontedera) Parigi-Bourges
2017 (Bora-Hansgrohe, dieci vittorie) 3ª tappa Parigi-Nizza (Chablis > Chalon-sur-Saône) 1ª tappa Tour of Slovenia (Capodistria > Kočevje) 4ª tappa Tour of Slovenia (Rogaška Slatina > Novo mesto) 2ª tappa Czech Cycling Tour (Olomouc > Frýdek-Místek) 4ª tappa Czech Cycling Tour (Olomouc > Dolany) Sparkassen Münsterland Giro 1ª tappa Presidential Cycling Tour of Turkey (Alanya > Kemer) 2ª tappa Presidential Cycling Tour of Turkey (Kumlica > Fethiye) 3ª tappa Presidential Cycling Tour of Turkey (Fethiye > Marmaris) 5ª tappa Presidential Cycling Tour of Turkey (Selçuk > Smirne)
2018 (Bora-Hansgrohe, sette vittorie) 7ª tappa Giro d'Italia (Pizzo > Praia a Mare) 12ª tappa Giro d'Italia (Osimo > Imola) 21ª tappa Giro d'Italia (Roma > Roma) Rund um Köln 2ª tappa Presidential Cycling Tour of Turkey (Alanya > Adalia) 3ª tappa Presidential Cycling Tour of Turkey (Fethiye > Marmaris) 6ª tappa Presidential Cycling Tour of Turkey (Bursa > Istanbul)
2019 (Bora-Hansgrohe, tredici vittorie) 7ª tappa Vuelta a San Juan (San Juan > San Juan) 7ª tappa UAE Tour (Dubai Safari Park > Dubai City Walk) 3ª tappa Parigi-Nizza (Cepoy > Moulins/Yzeure) 6ª tappa Parigi-Nizza (Peynier > Brignoles) 1ª tappa Presidential Cycling Tour of Turkey (Istanbul > Tekirdağ) 2ª tappa Presidential Cycling Tour of Turkey (Tekirdağ > Eceabat) 3ª tappa Critérium du Dauphiné (Le Puy-en-Velay > Riom) Campionati irlandesi, prova in linea 1ª tappa BinckBank Tour (Beveren > Hulst) 2ª tappa BinckBank Tour (Blankenberge > Ardooie) 3ª tappa BinckBank Tour (Aalter > Aalter) 3ª tappa Vuelta a España (Ibi > Alicante) 14ª tappa Vuelta a España (San Vicente de la Barquera > Oviedo)
2020 (Deceuninck-Quick Step, sette vittorie) 1ª tappa Tour Down Under (Tanunda > Tanunda) Race Torquay 4ª tappa Vuelta a Burgos (Gumiel de Izán > Roa) 3ª tappa Tour de Wallonie (Montzen > Visé) 10ª tappa Tour de France (Île d'Oléron > Île de Ré) 21ª tappa Tour de France (Mantes-la-Jolie > Parigi (Champs-Élysées)) 4ª tappa Vuelta a España (Garray > Ejea de los Caballeros)
2021 (Deceuninck-Quick Step, sette vittorie) 4ª tappa UAE Tour (Al Marjan Island > Al Marjan Island) 6ª tappa UAE Tour (Deira Island > Palm Jumeirah) 1ª tappa Parigi-Nizza (Saint-Cyr-l'École > Saint-Cyr-l'École) 5ª tappa Parigi-Nizza (Vienne > Bollène) Classic Brugge-De Panne 1ª tappa Volta ao Algarve (Lagos > Portimão) 3ª tappa Volta ao Algarve (Faro > Tavira)
2022 (Bora-Hansgrohe, tre vittorie) Eschborn-Francoforte 2ª tappa Vuelta a España ('s-Hertogenbosch > Utrecht) 3ª tappa Vuelta a España (Breda > Breda)
2023 (Bora-Hansgrohe, tre vittorie) 1ª tappa Vuelta a San Juan (San Juan > San Juan) 1ª tappa Sibiu Cycling Tour (Sibiu > Sibiu) 4ª tappa, 1ª semitappa Sibiu Cycling Tour (Sibiu > Sibiu)
2024 (Decathlon AG2R La Mondiale Team, cinque vittorie) 2ª tappa Quattro Giorni di Dunkerque (Wimereux > Abbeville) 3ª tappa Quattro Giorni di Dunkerque (Saint-Laurent-Blangy > Bouchain) 5ª tappa Quattro Giorni di Dunkerque (Arques > Cassel) 6ª tappa Quattro Giorni di Dunkerque (Loon-Plage > Dunkerque) Classifica generale Quattro Giorni di Dunkerque
2025 (Decathlon AG2R La Mondiale Team, quattro vittorie) 1ª tappa Tour de la Provence (Marsiglia > Saint-Victoret) 3ª tappa Tour de la Provence (Rognac > Arles) 1ª tappa Région Pays de la Loire Tour (Machecoul-Saint-Même > La Baule-Escoublac) 3ª tappa Région Pays de la Loire Tour (Tiercé > Hambers)
Altri successi 2016 (Bora-Argon 18) Classifica a punti Giro di Toscana
2017 (Bora-Hansgrohe) Classifica a punti Giro di Slovenia Classifica a punti Czech Cycling Tour
2018 (Bora-Hansgrohe) Classifica a punti Presidential Cycling Tour of Turkey
2019 (Bora-Hansgrohe) Classifica a punti Presidential Cycling Tour of Turkey Classifica a punti BinckBank Tour
2020 (Deceuninck-Quick Step) Classifica a punti Tour de France
2021 (Deceuninck-Quick Step) Classifica a punti Volta ao Algarve
2023 (Bora-Hansgrohe) Classifica a punti Sibiu Cycling Tour
2024 (Decathlon AG2R La Mondiale Team) Classifica a punti Quattro Giorni di Dunkerque
2025 (Decathlon AG2R La Mondiale Team) Classifica a punti Région Pays de la Loire Tour
Piazzamenti Grandi Giri
Giro d'Italia 2017: 158º 2018: 112º 2025: 145º
Tour de France 2015: ritirato (17ª tappa) 2016: 174º 2020: 138º 2024: ritirato (17ª tappa)
Vuelta a España 2019: 134º 2020: 136º 2022: non partito (10ª tappa)
Classiche monumento
Milano-Sanremo 2015: 78º 2016: 129º 2017: 66º 2019: 28º 2020: 59º 2021: 41º 2023: ritirato
Giro delle Fiandre 2014: ritirato
Parigi-Roubaix 2014: 134º 2016: fuori tempo
Competizioni mondiali Campionati del mondo Copenaghen 2011 - In linea Under-23: 95º Limburgo 2012 - In linea Under-23: 10º Toscana 2013 - In linea Elite: ritirato Richmond 2015 - In linea Elite: 40º Doha 2016 - In linea Elite: ritirato Yorkshire 2019 - In linea Elite: ritirato Glasgow 2023 - In linea Elite: ritirato
Competizioni europee Campionati europei Hooglede-Gits 2009 - In linea Under-23: 43º Offida 2011 - In linea Under-23: ritirato Goes 2012 - In linea Under-23: 7º Herning 2017 - In linea Elite: 11º Alkmaar 2019 - In linea Elite: 6º Trento 2021 - In linea Elite: ritirato Monaco di Baviera 2022 - In linea Elite: 5º
Note
Altri progetti
Collegamenti esterni