Carriera Originario di Alzano Sopra, tra il 1999 al 2006 corre nelle categorie giovanissimi, esordienti e allievi con una squadra di Nembro, la Valoti Arredamenti poi dal 2004 G.S. Cicloteam Nembro, senza mai raccogliere successi importanti. Tra gli Juniores veste invece per due anni, dal 2007 al 2008, la maglia della For 3-Milram, dove ha il suo primo exploit di successi.
Tra 2009 e il 2012 gareggia tra i Dilettanti, come Under-23, prima con la divisa della Bottoli-Nordelettrica-Ramonda e poi con quella della Trevigiani-Dynamon-Bottoli. Nel 2009 su aggiudica il Gran Premio di Poggiana; nel 2010 non coglie successi, mentre nel 2011 vince ancora il Gran Premio di Poggiana, ma anche il prestigioso Girobio (Giro d'Italia Under-23), il Gran Premio Capodarco e il Giro delle Pesche Nettarine, piazzandosi inoltre al terzo posto al Tour de l'Avenir in Francia.
Grazie a questi successi riscuote l'interessamento di diverse squadre professionistiche. Nel settembre del 2011 è così la Lampre-ISD, formazione World Tour, a metterlo sotto contratto: secondo l'accordo, il bergamasco avrebbe dovuto gareggiare come stagista con la squadra di Giuseppe Saronni dal 1º agosto 2012, per poi passare professionista con la stessa maglia all'inizio del 2013. Nel 2012, dopo il secondo posto al Trofeo Franco Balestra, Cattaneo non ottiene vittorie, complice anche una frattura al radio rimediata in una caduta al Giro delle Pesche Nettarine. Secondo contratto debutta comunque nelle competizioni pro con la Lampre-ISD in agosto, al Trittico Lombardo, classificandosi tra i primi quindici sia nella Coppa Agostoni che nella Tre Valli Varesine.
Nel 2013 con il team Lampre-Merida fa il suo esordio in numerose classiche come il Giro delle Fiandre e la Liegi-Bastogne-Liegi; approda per la prima volta anche al Giro d'Italia che, però, deve abbandonare presto a causa di una caduta nella settima tappa, da San Salvo a Pescara. Nel 2014, sempre tra le file della Lampre-Merida, partecipa ancora alla Liegi-Bastogne-Liegi e conclude il suo primo Giro d'Italia, al 64º posto.
Ottiene la prima vittoria da professionista al Tour La Provence nel febbraio 2017: scatta a 15 km dall'arrivo della 3ª e ultima tappa, sulla penultima salita, e sul traguardo di Notre Dame de la Garde, il punto più alto di Marsiglia, mantiene 2" di vantaggio su Rohan Dennis, vincitore della classifica finale della corsa proprio davanti a Cattaneo. Nel resto della stagione si mette in luce conquistando il secondo posto nella generale della Okolo Slovenska e il quarto al Tour de l'Ain.
Nel 2018 ottiene un piazzamento di prestigio al Giro d'Italia nella 18ª frazione, con arrivo in salita a Prato Nevoso, dove giunge terzo al traguardo, alle spalle di Maximilian Schachmann e Rubén Plaza. Si mette in luce nel finale di stagione, ottenendo un sesto posto al Giro della Toscana e un quarto alla Milano-Torino.
Nel 2019 ottiene risultati di prestigio nelle corse di rifinitura in vista del Giro: dopo aver preso parte alla Settimana Internazionale di Coppi e Bartali e al Giro di Sicilia, è al via del Tour of the Alps, dove ottiene quattro top-10 in cinque frazioni e il quarto posto nella classifica generale. Due giorni dopo vince per distacco il Giro dell'Appennino, precedendo il compagno di squadra Fausto Masnada. Alla corsa rosa riesce ad entrare più volte nella fuga di giornata, ottenendo quattro top-10 tra cui spicca il secondo posto nella 16ª frazione, la Ivrea-Como, dove al termine di una lunghissima fuga di oltre 200 km con Dario Cataldo viene battuto allo sprint.
Palmarès
2007 (Juniores) Memorial Mario Marchina (cronometro) Memorial Padre Tarcisio Boccaccio
2008 (Juniores) Como-Ghisallo Trofeo Bellotti Trofeo Emilio Paganessi Gran Premio di Pian Camuno Trofeo CBL Forniture Industriali Coppa Bonomi
2009 (Trevigiani Under-23) Gran Premio di Poggiana
2011 (Trevigiani Under-23) 4ª tappa Giro Ciclistico Pesche Nettarine di Romagna Classifica generale Giro Ciclistico Pesche Nettarine di Romagna Classifica generale Giro Ciclistico d'Italia Gran Premio di Poggiana Gran Premio Capodarco
2012 (Trevigiani Under-23) Ruota d'Oro
2017 (Androni Giocattoli-Sidermec, una vittoria) 3ª tappa Tour La Provence (Aix-en-Provence > Marsiglia)
2019 (Androni Giocattoli-Sidermec, una vittoria) Giro dell'Appennino
2021 (Deceuninck-Quick Step, una vittoria) 4ª tappa Giro del Lussemburgo (Dudelange, cronometro)
2023 (Soudal Quick-Step, una vittoria) 6ª tappa Giro di Polonia (Katowice, cronometro)
2024 (Soudal Quick-Step) Campionati europei, Staffetta mista
2026 (Red Bull-Bora-Hansgrohe) Trofeo Ses Salines, cronosquadre
Altri successi 2026 (Red Bull-Bora-Hansgrohe) Campionati del mondo, Staffetta mista
Piazzamenti Grandi Giri
Giro d'Italia 2013: ritirato (7ª tappa) 2014: 64º 2018: 33º 2019: 28º 2023: non partito (11ª tappa) 2025: 44º
Tour de France 2021: 12º 2022: 95º 2025: ritirato (7ª tappa) 2026: 33º
Vuelta a España 2015: ritirato (13ª tappa) 2016: 102º 2020: 17° 2023: 34º 2024: 23º
Classiche monumento
Milano-Sanremo 2016: 146º 2017: 48º 2019: 101º 2022: 104º 2024: 76º 2025: 88º 2026: 148º
Giro delle Fiandre 2013: 60º
Liegi-Bastogne-Liegi 2013: ritirato 2014: 99º
Giro di Lombardia 2016: 47º 2017: ritirato 2018: 19º 2020: ritirato 2023: 70° 2024: 63°
Competizioni mondiali Campionati del mondo Città del Capo 2008 - In linea Juniores: 2º Limburgo 2012 - Cronometro Under-23: 49º Limburgo 2012 - In linea Under-23: 106º Ponferrada 2014 - Cronosquadre: 15º Richmond 2015 - Cronosquadre: 15º Glasgow 2023 - Staffetta: 5º Glasgow 2023 - Cronometro Elite: 8º Zurigo 2024 - Staffetta mista: 3º Zurigo 2024 - In linea Elite: 63º Kigali 2025 - In linea Elite: ritirato Montréal 2026 - Cronometro Elite: 16º Montréal 2026 - Staffetta mista: vincitore Montréal 2026 - In linea Elite: ritirato
Competizioni europee
Campionati europei Verbania 2008 - In linea Juniores: 6º Offida 2011 - Cronometro Under-23: 20º Offida 2011 - In linea Under-23: 5º Trento 2021 - In linea Elite: ritirato Monaco di Baviera 2022 - Cronometro Elite: 14º Drenthe 2023 - Cronometro Elite: 5º Drenthe 2023 - Staffetta mista Elite: 2º Drenthe 2023 - In linea Elite: 76º Limburgo 2024 - Cronometro Elite: 3º Limburgo 2024 - Staffetta mista Elite: vincitore Limburgo 2024 - In linea Elite: 46º
Giochi europei In linea - Minsk 2019: 65°
Riconoscimenti Premio Italia Under-23 nel 2011
Note
Altri progetti
Collegamenti esterni
Categoria:Vincitori del Giro dell'Appennino