The midfielder's agent set a deadline for a new contract last month after the player reportedly grew upset at a lack of progress on an extension, but he has now agreed fresh terms
The 29-year-old had been reportedly upset at a lack of movement and "respect" from the Premier League champions over improved terms, with Toure's agent Dimitri Seluk setting a deadline over two weeks ago for a new contract to be agreed.
"This is where I want to be," Toure told the club's official website.
"When I first arrived at City every time I went to sleep I would dream about us winning something; now it is about us being the best team in whatever competition we take part in.
"I will never forget how I have been treated here by the fans, the club and the owners and nothing would give me greater pleasure than to finish my career as a Manchester City player.
"I want to continue winning titles and trophies and continue to make history. I have enjoyed all of my time here and can’t wait for the next chapter. This is an incredible club to be part of with fans that support a team to the end whatever the circumstances."
Toure's basic 150,000 pound-a-week wage - rising to 220,000-a-week including bonuses - has reportedly not been increased.