McKennie, 22, originally joined Serie A giants Juve on loan from Schalke 04 in September. The contract included "option rights," which meant Juve could then sign the player on a permanent deal for €18.5 million.
The transfer was confirmed Wednesday with the payments to Schalke split over three years. Juve also announced there could be €6.5m in additional payments should McKennie and Juve achieve several milestones. McKennie joins the Serie A champions on a deal through to June 2025.
McKennie has excelled in Turin this season, contributing four goals and two assists across 21 appearances in Serie A, while also playing for Juve in the Champions League and Coppa Italia. That included his memorable goal against Barcelona at Camp Nou in Juve's 3-0 win in December.
Since arriving from Schalke on loan, he has established himself as a key part of Juve's midfield, but there were other clubs interested in him last summer. Southampton, Leicester City and Liverpool were all monitoring McKennie, according to ESPN sources, but then Juve came in and tempted the USMNT midfielder to Serie A.
In a busy period, Juve boss Andrea Pirlo spoke earlier in the week about their wish to rest McKennie as he was playing through the pain of minor injuries, but such was his importance to the team that, Pirlo said, "we need him on the field."
With Juve sitting third in Serie A, seven points off Inter Milan at the top of the table, they face a critical group of fixtures to chase down the league leaders, with top-four hopefuls Lazio next up on Saturday (at 2:45 p.m. ET, live on ESPN+).
McKennie's form has also impressed USMNT coach Gregg Berhalter. Speaking in January, the national team coach said: "I know Weston very well.
"His style of play and his spirit are so important for a team. I was sure he would play an important role in a top team like Juve.
"He has room for improvement, he is still so young. Surely, he has been improving at Juventus. When you play every day with big champions like Cristiano Ronaldo, you can only improve if you really want it, and Weston wants to reach the top.
"I always watch Juve matches, and this role is perfect for him because of his intensity and his late runs into the box."