Bernardeschi stroomde in 2013 door vanuit de jeugd vanFiorentina. Dat verhuurde hem gedurende het seizoen 2013/14 aanCrotone, op dat moment actief in deSerie B. Hiermee debuteerde hij op 8 september 2013 in het betaald voetbal, op de derde speeldag van de competitie tegenPescara Calcio. Bernardeschi kwam na 75 minuten in het veld voorSoufiane Bidaoui. Na zijn invalbeurt zette Crotone een 2–1 achterstand recht, waardoor zijn team het een punt behaalde.[2] Hij kwam dat seizoen tot 39 competitiewedstrijden.
Na zijn huurperiode bij Crotone begon Bernardeschi het seizoen 2014/15 bij Fiorentina. Hiervoor speelde hij op 14 september 2014 zijn eerste wedstrijd in deSerie A, tegenGenoa CFC (0–0 eindstand). Op de laatste speeldag van het seizoen maakte hij zijn eerste doelpunt voor Fiorentina, de 2–0 tijdens een 3–0 overwinning opChievo Verona. Bernardeschi maakte dat seizoen ook zowel zijn debuut als zijn eerste doelpunten in deEuropa League met de club. Tijdens 3–0 overwinningen in de groepsfase op zowelEA Guingamp alsDinamo Minsk maakte hij beide keren het derde doelpunt.
Bernardeschi verlengde in juli 2015 zijn contract bij Fiorentina tot medio 2019.[3] In het seizoen 2015/16 scoorde hij vier goals in zeven Europa League-wedstrijden, tegenFC Basel (twee goals),Belenenses enTottenham Hotspur. In de Serie A scoorde hij tweemaal in 33 competitiewedstrijden. Zijn echte doorbraak kwam in het seizoen 2016/17, toen hij elf keer scoorde in deSerie A en veertien keer in alle competities. Bernardeschi speelde in totaal 93 wedstrijden voor Fiorentina, waarin hij goed was voor 23 goals en elf assists.
In de zomer van 2017 maakte Bernardeschi voor 40 miljoen euro de overstap naarJuventus. Daar tekende hij een contract voor vijf seizoenen. Hij maakte op 13 augustus in deSupercoppa tegenLazio (2-3 verloren) zijn debuut voor Juventus. Op 1 oktober was hij tegenAtalanta Bergamo goed voor zijn eerste goal en eerste assist voor Juventus. Met vier goals en vijf assists in 22 wedstrijden had hij een aandeel in zijn eerste kampioenschap met Juventus. Ook speelde hij mee in de met 4-0 gewonnenCoppa Italia tegenAC Milan.
Ook in de twee seizoenen erop werd hij kampioen met Juventus, maar hij pendelde altijd tussen bank en basis in. In het seizoen 2020/21 eindigde hij vijfde met Juventus en won hij de beker en Supercoppa, maar hij kwam het hele seizoen tot niet één goal. In vijf seizoenen voor Juventus kwam Bernardeschi tot 183 wedstrijden, twaalf goals en 24 assists.
In de zomer van 2022 maakte Bernardeschi transfervrij de overstap naar hetCanadeseToronto FC, dat buiten de landsgrenzen actief was in deAmerikaanseMLS. In zijn eerste tien wedstrijden was hij direct goed voor acht doelpunten en twee assists. Op 19 mei 2024 was hij goed voor een hattrick in een 5-1 overwinning opCF Montréal. In juli 2024 was Bernardeschi voor het eerst aanvoerder van Toronto FC. Daar speelde hij drie jaar en kwam hij tot 99 wedstrijden. Daarin was hij goed voor 26 goals en zestien assists.
Na een afwezigheid van drie jaar keerde Bernardeschi in de zomer van 2025 terug in Italië, om te tekenen bijBologna. Die club had net deCoppa Italia gewonnen en ging daardoor dit seizoenEuropa League-voetbal spelen. Bernardeschi tekende er een contract voor twee seizoenen en ging spelen met rugnummer 10.
Bernardeschi maakte deel uit van de Italiaanse selectie op hetEK 2016 in Frankrijk.[5] Italië werd in de kwartfinale na strafschoppen uitgeschakeld doorDuitsland. Bernardeschi zelf kwam tijdens het toernooi één keer in actie, in de met 0–1 verloren groepswedstrijd tegenIerland.
Zijn eerste interlanddoelpunt volgde op 11 juni 2017. Hij maakte toen de 4–0 in een met 5–0 gewonnen kwalificatiewedstrijd voor hetWK 2018 thuis tegenLiechtenstein.
Nadat Italië niet aanwezig was op het WK 2018, maakte Bernardeschi in de zomer van 2021 zijn rentree op een eindtoernooi. Op 11 juli speelde hij zijn vierde wedstrijd van het toernooi, de finale van het EK tegenEngeland. Hij viel in de 86'ste minuut in voorFederico Chiesa en zag hoe de wedstrijd na 120 minuten in 1-1 eindigde. Vervolgens scoorde Bernardeschi de vierde penalty van Italië. Hij was de laatste speler die zijn penalty scoorde, want daarna miste achtereenvolgensJadon Sancho,Jorginho enBukayo Saka, waardoor Italië Europees kampioen werd.
Hij speelde op 1 juni 2022 tijdens deCONMEBOL–UEFA Cup of Champions tegen wereldkampioenArgentinië zijn 39'ste en (vooralsnog) laatste interland voor Italië en verloor met 0-3.