The European giants have swapped full-backs as the Premier League champions secured their third major signing of the summer, reports Reuters.
Manchester City have completed the signing of full-back Joao Cancelo from Juventus with the Serie A champions receiving a transfer fee and Danilo as part of the deal.
The Premier League title holders will send €28 million (£25.8/$31.4m) and the Brazilian defender to Juve for Cancelo, who moves to City after just one year in Turin.
Cancelo moves to City on a six-year deal that will keep him at the Etihad Stadium until the summer of 2025, becoming City's third signing of the summer after Spaniards Rodri and Angelino.
“City are a fantastic club, with a brilliant manager and I am delighted to be here,” Cancelo said in a press release. “Everything about them has impressed me, from the facilities, to their style of play.
“I am always looking to develop my game and win trophies and I believe I can do that here, so now I’m really looking forward to the new season and testing myself in the Premier League.”
The Portugal defender provided one goal and five assists in 34 games as Juve lifted an eighth consecutive Serie A title following a summer move from Valencia.
He has previously featured for Benfica and Inter while he helped guide Portugal to the inaugural UEFA Nations League this summer.
The total cost of Cancelo comes to €65m (£60m/$72.9m), with Juve acquiring Danilo at a value of €37m.
“Joao is a fine player and an excellent attacking full-back who will provide us with a real threat on the right-hand side,” said City's director of football Txiki Begiristain.
“We have been impressed with his progress and have no doubt he can continue to shine here in Manchester.
“He fits the profile of player we want here at Manchester City. His best years are ahead of him, he’s technically proficient and has the physical attributes we desire.
“I am delighted we have secured his signature.”
As for Juventus, Danilo has signed a five-year deal with the club until 2024 as he departs City after a two-season stint with the club.
Prior to his time in England, Danilo featured for Real Madrid, Porto, Santos and Atletico Mineiro while also earning 23 total caps for Brazil.
The full-back - who can play on either side of the defence - made a total of 21 appearances for City last season, but just 11 of those appearances came in the Premier League.