On 24 July 2017, Bernardeschi was signed by Juventus, one of Fiorentina's main rivals, 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. He made his UEFA Champions League debut on 12 September, coming on as a second-half substitute for Rodrigo Bentancur in a 3–0 away loss to Barcelona. On 1 October, he made his first start for Juventus, and scored his first goal for the club, also assisting another for Gonzalo Higuaín, in a 2–2 away draw against Atalanta. He scored his first Champions League goal on 5 December, after coming off the bench, netting his club's second goal in a 2–0 away win over Olympiacos; the result allowed Juventus to advance to the knock-out stages of the competition. On 9 February 2018, Bernardeschi returned to Florence, receiving vulgar insults from home fans throughout the match; he scored a free kick in the second half to silence the crowd.