The 22-year-old, who joined Everton from Barnsley in 2013 for £3million, has now left Merseyside for what the Toffees have called “a record transfer fee”.
Stones has already been included in City’s Champions League squad for next week’s play-off clash with Steaua Bucharest, and he told mancity.com: “I’m absolutely delighted to sign for City and now the deal’s done I’m looking forward to the next stage in my career.”
Ten-cap England international Stones follows the likes of Ilkay Gundogan, Nolito, Leroy Sane and Gabriel Jesus to City in the first transfer window since boss Pep Guardiola arrived at the club.
Guardiola had been left with limited centre-back options due to injuries to captain Vincent Kompany, Nicolas Otamendi and Eliaquim Mangala and had been using Fernando and Aleksandar Kolarov at the heart of his defence during pre-season.
Everton had rejected several bids for Stones from Chelsea last summer but have now decided to cash in on a player who made 95 appearances for them.
Although the official confirmation came on Tuesday morning, Stones was registered as a City player with UEFA prior to midnight to allow him to be included in their Champions League squad, with news of his inclusion emerging on UEFA’s website before the move was announced.
“We want to help John show his quality with us and improve on what he has already achieved,” Guardiola said. “I like the way he plays the game and I’m looking forward to welcoming him into the squad.”