Aston Villa have come from 2-1 down to beat Manchester City at Villa Park in the Premier League.
City almost went ahead after only two minutes with Aleksandar Kolarov sending in a cross from the left, but James Milner could only strike wide.
The Citizens were doing the early running and came close through Edin Dzeko as the Bosnian stretched for the ball and forced Brad Guzan to save.
Again the visitors poured forward in search of the opening goal. First Samir Nasri's shot was deflected wide and then Dzeko headed over after Kolarov had flicked on a Nasri corner.
Villa's first shot of the afternoon came on 25 minutes but Karim El Ahmadi's free kick failed to test Joe Hart.
Toure then found Pablo Zabaleta on the right byline and his cutback was picked up Dzeko at the far post. However, the striker tried to lay the ball to Alvaro Negredo and Villa cleared.
After all of their pressure, City finally took the lead on the stroke of half time when Toure scored his sixth goal of the season.
Despite being on the back foot for most of the first half, Villa shocked their opponents with the equalising goal soon after the restart when El Ahmadi struck past Hart.
However, Villa were level for only six minutes. Nasri drifted in a corner and Dzeko headed past Guzan at the near post.
The game then turned on its head with two goals for the Villans in three minutes. First Leandro Bacuna bent a 25-yard free kick over the wall and into the top corner to draw his team level, and then Andreas Weimann nicked the ball past Hart and saw it roll over the line.
Stevan Jovetic could have got City level but miscued his attempt after being set up by Toure, who had made his way past three Villa defenders.