Inizia a giocare a calcio all'età di sei anni, nell'Atletico Carrara. Dopo un anno arriva il trasferimento al Ponzano, scuola calcio dell'Empoli,[16] cui segue, nel 2004, l'approdo al settore giovanile della Fiorentina.
Dopo aver compiuto tutta la trafila nel vivaio dei viola, il 2 settembre 2013 viene ceduto in prestito al Crotone, in Serie B.[17] Debutta da professionista nel torneo cadetto l'8 settembre 2013, contro il Pescara.[18] Segna il suo primo gol da professionista contro il Brescia, nella partita di campionato giocata il 21 settembre;[19] segna poi la sua prima doppietta, nella sfida contro il Carpi.[20] Concluderà il campionato con 12 gol in 38 presenze, contribuendo a portare i calabresi ai play-off; alla fine della stagione la società rossoblù riscatta la metà della proprietà del suo cartellino.[21]
Fiorentina
Bernardeschi agli esordi con la Fiorentina nel 2014
Il 20 giugno 2014, dopo il riscatto per la metà da parte del Crotone, viene esercitato il controriscatto da parte della Fiorentina, che acquisisce nuovamente la totalità della proprietà del giocatore.[21] Viene quindi inserito in prima squadra sotto la direzione dell'allenatore Vincenzo Montella. Esordisce in Serie A il 14 settembre 2014, a 20 anni, entrando al 57' della partita interna contro il Genoa (0-0).[22] Quattro giorni più tardi esordisce nelle coppe europee, nella partita di UEFA Europa League al Franchi contro il Guingamp (3-0), nella quale realizza il suo primo gol in maglia viola.[23] Dopo un promettente inizio di stagione,[24] all'inizio del mese di novembre riporta in allenamento la frattura del malleolo, infortunio per il quale viene operato; ritorna in campo dopo sei mesi, il 10 maggio 2015, nella sfida di campionato contro l'Empoli. Realizza il suo primo gol in Serie A il 31 maggio seguente, nell'ultima giornata di campionato, nella partita vinta 3-0 contro il Chievo.[25]
Nella stagione 2015-2016 passa a vestire la maglia numero dieci del club.[26] L'allenatore portoghese Paulo Sousa lo impiega con continuità, soprattutto come esterno di centrocampo. Il 26 novembre 2015 segna la sua prima doppietta con la maglia viola, nella partita di UEFA Europa League contro il Basilea pareggiata per 2-2.[27] Conclude la stagione con 41 presenze totali e 6 gol.
Il 23 ottobre 2016, alla 9ª giornata del campionato 2016-2017, realizza la sua prima doppietta in Serie A nella partita vinta 5-3 in trasferta contro il Cagliari. Il 18 dicembre 2016, nel match perso 3-1 in trasferta contro la Lazio, indossa per la prima volta la fascia da capitano. Il 16 febbraio 2017 decide su punizione la sfida sul terreno del Borussia M'gladbach, valevole per i sedicesimi di finale di UEFA Europa League;[28] si tratta della prima vittoria della Fiorentina in Germania.[29] Termina la terza stagione alla Fiorentina con 14 gol in 42 partite stagionali, di cui 11 gol realizzati in campionato.
Il 24 luglio 2017 passa a titolo definitivo alla Juventus per 40 milioni di euro (più eventuali bonus).[30] Debutta in maglia bianconera il successivo 13 agosto, entrando nel secondo tempo della partita di Supercoppa italiana persa 3-2 a Roma contro la Lazio, mentre l'esordio in campionato è del 9 settembre, nella vittoria interna 3-0 contro il Chievo. Tre giorni dopo fa il suo debutto in UEFA Champions League, nella gara della fase a gironi persa 3-0 contro il Barcellona al Camp Nou. Segna il suo primo gol in campionato il 1º ottobre, nella trasferta contro l'Atalanta.[31] Il 5 dicembre 2017 segna il suo primo gol in Champions, nella vittoria esterna 2-0 sull'Olympiacos, chiudendo l'incontro.[32] Il 9 maggio 2018 vince il suo primo trofeo in carriera, la Coppa Italia, al termine della vittoriosa finale di Roma sul Milan (4-0); quattro giorni dopo, nella stessa città, il pareggio per 0-0 contro la Roma gli consente di fregiarsi del suo primo scudetto.
Nella sua seconda annata con il tecnico Massimiliano Allegri vince la Supercoppa italiana, grazie alla vittoria per 1-0 contro il Milan a Gedda, e bissa la vittoria dello scudetto, pur andando incontro a un primo calo di rendimento sotto alla Mole. Nella stagione 2019-2020, con il nuovo allenatore Maurizio Sarri, realizza un solo gol, contro la Sampdoria, nella gara che vale il nono scudetto consecutivo per i torinesi e il terzo personale per l'attaccante;[33] proprio da quest'annata ha inizio la fase più negativa nell'esperienza bianconera di Bernardeschi, ormai vittima di equivoci tattici e incapace di riproporsi su livelli soddisfacenti.[34]
Nella stagione 2020-2021, sotto la guida del nuovo tecnico Andrea Pirlo, continua a trovare discreto spazio, ma per la prima volta in carriera chiude l'anno senza mai trovare la rete,[34] partecipando da comprimario ai successi juventini in Supercoppa di Lega e Coppa Italia; in particolare, si rivela scarso il feeling con Pirlo, tanto che a fine stagione l'esterno palesa pubblicamente il proprio malcontento circa il suo impiego in campo.[35] Le cose non migliorano col ritorno in panchina di Allegri nella stagione successiva, in cui l'esterno, pur ritrovando una maggiore titolarità,[36] continua ad avere un ruolo poco rilevante nelle gerarchie della squadra bianconera: anche per questo motivo, Bernardeschi e la società non trovano l'accordo per rinnovare il contratto,[37] con il giocatore che lascia il club dopo cinque anni, con tre scudetti, due Coppe Italia e due Supercoppe italiane in bacheca.[38]
Toronto FC
Il 15 luglio 2022, il giocatore si trasferisce in Major League Soccer (MLS), accasandosi come designated player ai canadesi del Toronto FC:[39] nella stagione 2022 va così a formare una piccola «colonia azzurra» in Ontario, insieme ai connazionali Domenico Criscito e Lorenzo Insigne.[40] Il 23 dello stesso mese, durante la sua partita d'esordio in MLS, Bernardeschi trova la prima rete con la nuova maglia, mettendo a segno il parziale 3-0 nella vittoria interna contro lo Charlotte FC (4-0).[41]
A distanza di un anno e mezzo dalla sua ultima presenza del novembre 2015, viene nuovamente convocato in Under-21 per disputare l'Europeo Under-21 2017 in Polonia, nel quale realizza 2 gol, contro Germania e Spagna,[46] nelle 4 partite disputate dagli Azzurrini, che vengono eliminati in semifinale dalla Spagna (3-1) nonostante la rete di Bernardeschi.[47] A fine torneo viene inserito nell'11 migliore della manifestazione.
Nazionale maggiore
Dal 10 al 12 marzo 2014 è stato convocato dal selezionatore della nazionale maggiore, Cesare Prandelli, per uno stage organizzato allo scopo di visionare giovani giocatori in vista del campionato del mondo 2014,[48] venendo riconfermato per il raduno successivo del 14 e 15 aprile.[49]
Il 19 marzo 2016 riceve la sua prima convocazione grazie al nuovo commissario tecnico Antonio Conte, per le gare amichevoli contro Spagna e Germania.[50] Fa il suo esordio cinque giorni dopo, a 22 anni, entrando al posto di Candreva nel secondo tempo della sfida contro gli spagnoli (1-1) disputata a Udine.[51] Viene inserito nella lista dei 23 convocati per il campionato d'Europa 2016,[52] dove viene impiegato unicamente nella terza partita del girone persa 0-1 contro l'Irlanda.[53]
Realizza il suo primo gol in nazionale l'11 giugno 2017, sotto la gestione tecnica di Gian Piero Ventura, nella partita di qualificazione al campionato del mondo 2018 contro il Liechtenstein (5-0) disputata a Udine;[54] viene impiegato in 6 partite delle qualificazioni mondiali, compresa la sfida di ritorno del play-off contro la Svezia, che vede l'Italia eliminata.
Pochi giorni dopo viene inserito nella lista dei 26 convocati per gli europei[58] (posticipati a causa della pandemia di COVID-19) dove, pur facendo parte delle seconde linee, viene mandato in campo in quattro occasioni, tra le quali la semifinale contro la Spagna[59] e la finale contro l'Inghilterra,[60] entrambe vinte ai tiri di rigore, successi che permettono all'Italia di aggiudicarsi per la seconda volta il titolo continentale:[61] in entrambe le occasioni Bernardeschi è tra i rigoristi azzurri e trasforma in rete i propri tentativi dal dischetto.[62]
«Riconoscimento dei valori sportivi e dello spirito nazionale che hanno animato la vittoria italiana al campionato europeo di calcio UEFA Euro 2020.» — Roma, 16 luglio 2021. Di iniziativa del presidente della Repubblica Italiana.[64]
^BERNARDESCHI IN PRESTITO AL CROTONE, su it.violachannel.tv, 2 settembre 2013. URL consultato il 10 giugno 2014 (archiviato dall'url originale il 3 dicembre 2013).
^Federico Bernardeschi è bianconero!, su juventus.com, 24 luglio 2017. URL consultato il 24 luglio 2017 (archiviato dall'url originale il 26 luglio 2017).