City were earlier involved in an embarrassing gaffe which saw UEFA reveal Stones as a member club’s Champions League squad, despite the deal having not being announced at that stage.
And City have moved swiftly to formally confirm the deal, with the England defender signing a six-year deal at the Etihad Stadium.
“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,” he told the club’s official website.
“I’ve obviously seen what’s going on here at the Etihad, it’s an ambitious Club with a great manager so I can’t wait to get stuck in and help achieve the goals.
“I know it will be tough getting a place in this team but I’m determined to become the best player I can be and help us to success.
“I had a wonderful time with Everton and wish them and their fans all the best but now I’ll give my all for City.”
City will pay a fee in the region of £47.5million, according to the BBC, and Pep Guardiola has expressed his delight at landing a long-term target.
“We want to help John show his quality with us and improve on what he has already achieved,” Guardiola added.
“I like the way he plays the game and I’m looking forward to welcoming him into the squad.”