He began his playing career with Atletico Carrara and Polisportiva Ponzano. In 2003, he moved to the Fiorentina youth system, where he spent 10 years, before spending one season on loan at Crotone during the 2013–14 season. He returned to Fiorentina the following season. In July 2017, he was sold to Juventus.
At international level, he has represented Italy at youth level, making his senior debut in 2016, and was a member of the nation's squad at UEFA Euro 2016.
He began playing football at age six with Atletico Carrara. A year later he transferred to Ponzano, a football school of Empoli, before arriving at Fiorentina, who inserted him in the "Pulcini" age group, at the age of nine in 2003.
After passing through the ranks of the Fiorentina youth system, he spent the 2013–14 season on loan at Crotone in Serie B. He made his professional debut at 19 years old, on 8 September 2013 against Pescara, when he entered the field after 75 minutes, replacing Soufiane Bidaoui. At the end of the season Bernareschi scored 12 goals in 39 appearances and Crotone exercised the option to acquire half the player's contract in co-ownership.
On 20 June 2014, Fiorentina officially redeemed Crotone's half of Bernardeschi's contract, and he was inserted into the first under the direction of Vincenzo Montella. During the 2014–15 season he obtained 10 appearances and three goals in all competitions, partially hampered by a fracture to his ankle which kept him out from November 2014. He made his Serie A debut on 14 September 2014, at the age of 20, coming off the bench in the 57th minute of a 0–0 home draw against Genoa. Four days later, he made his debut in European debut in a 3–0 home win over Guingamp in the Europa League, in which he also scored his first goal for the club. After returning to the team following his injury, he scored his first goal in Serie A on the final matchday of the season, in a 3–0 home win over Chievo on 31 May 2015.
He was awarded the number 10 shirt at the start of the 2015–16 season, previously worn by the likes of Giancarlo Antognoni and Roberto Baggio. On 26 November 2015, Bernardeschi scored two goals in a 2–2 away draw against Basel in the Europa League group stage. On 6 February 2016, Bernardeschi scored his second goal in Serie A, during a 1–1 away draw against Bologna.
On 24 July 2017, Bernardeschi was signed by Juventus for €40 million on a five-year deal. Although he was named as a possible candidate for the number 10 shirt in the media, he eventually chose the number 33, stating: "The No. 10 is a number I like but I'll need to earn it. Taking the No. 33 is the correct choice at this point." On 13 August, he made his club debut, coming on as a substitute in a 3–2 defeat to Lazio in the 2017 Supercoppa Italiana.
On 5 March 2014, he made his debut with the Italy under-21, in a Euro 2015 qualifying match against Northern Ireland. He took part at the 2015 UEFA European Under-21 Championship under manager Luigi Di Biagio. From 10 to 12 March 2014, he was called up to the senior national team by coach Cesare Prandelli as part of an internship to evaluate young players ahead of the 2014 FIFA World Cup, confirmed on the next meeting between 14 and 15 April.
Bernardeschi received his first call up to the Italy senior squad by manager Antonio Conte in March 2016 for friendlies against Spain and Germany. He made his international debut for Italy on 24 March, coming on as a substitute in a 1–1 home draw against Spain, and was involved in Lorenzo Insigne's goal. On 31 May 2016, he was named to Conte's 23-man Italy squad for UEFA Euro 2016. He made his only appearance of the tournament on 22 June, in Italy's final group match, which ended in a 1–0 defeat to Ireland. He scored his first senior international goal on 11 June 2017, in a 5–0 home win over Liechtenstein in a 2018 World Cup qualifier.
In June 2017, he was included in the Italy under-21 squad for the 2017 UEFA European Under-21 Championship by manager Di Biagio.
A quick, strong, creative, technically gifted, and hard-working player, with a good positional sense and an eye for goal, Bernardeschi is regarded as one of Italy's most exciting and talented prospects. A predominantly left-footed player, known in particular for his pace, agility, and dribbling ability, as well as his powerful and accurate striking ability from outside the area, his preferred role is as a right winger in a 4–3–3 formation, a position which allows him to beat opponenets, cut into the centre, and either shoot towards goal or link-up with midfielders and create chances for teammates with his stronger left foot; he is also capable of playing on the left flank. Due to his tactical versatility, stamina, vision and defensive work-rate, as well as his technical, athletic, and physical attributes, he is also capable of playing in several other positions, and has been deployed as a second striker, as an attacking midfielder, as a classic number 10 playmaker, as a forward, or even as a wing-back along the right side of the pitch. He is also effective from set-pieces and penalties. He has cited compatriots Francesco Totti, Giancarlo Antognoni, Roberto Baggio, and Alessandro Del Piero as his footballing idols and role models; his style of style has also led pundits to compare Bernardeschi to these aforementioned players, as well as Michel Platini. He has also described Ukrainian former striker Andriy Shevchenko as one of his major influences in his youth. Due to his elegant playing style, Bernardeschi has been nicknamed Brunelleschi, as a reference to the famous Italian Renaissance designer and architect.
While Bernardeschi has largely drawn praise in the media for his ability, talent, and playing style, in July 2017, following rumours of Bernardeschi's possible transfer to Fiorentina's rivals Juventus, former Italy manager Arrigo Sacchi stated in an interview that although he felt Bernardeschi has "enormous potential", he also believed he needed to improve in certain aspects of his game; he commented: "He [Bernardeschi] doesn’t use his right much and he needs to improve in that, if you only have one foot you risk being predictable and the opposition can shut you down more easily. I’d say he dribbles well, he takes on a defender and goes past them with agility and imagination. He also has a good shot on him, he sees the goal, takes aim and the result is always dangerous. A great player? Calm down, calm down. I’m describing a lad with notable talents, but one who has to mature and be helped. For example, he has to learn how to get into the rhythm of the game with consistency. To be great, you need to have an understanding with your team. ... Bernardeschi needs to do better in that regard, less individual technique and more collective technique." Sacchi later also added: "He’s still a lad, they need to help him and have patience with him. The important thing is not to play the game of comparisons. Bernardeschi is not Del Piero and he’s not Roberto Baggio. They were more at the centre of things, while Bernardeschi moves on the wing."As of 20 September 2017
As of 5 September 2017
As of match played 11 June 2017. Italy score listed first, score column indicates score after each Bernardeschi goal.
AIAC Football Leader Under-21 Award: 2015–16
UEFA European Under-21 Championship Team of the Tournament: 2017