Last-gasp Aguero goal sinks Villarreal
With the clock ticking in the third minute of added-time, City were bracing themselves for only one point that would have severely damaged their chances of making the knockout round, when Aguero slid the ball home with the last kick of the game.
City manager Roberto Mancini, stunned when the visitors had taken a fourth-minute lead through Cani, had watched his side pull back through a Carlos Marchena own goal before the break and waste numerous opportunities throughout the game.
He abandoned his usual dignified air to jump up and down, punching the air with his fists and hugging his staff, when the goal went in to keep the Premier League leaders in touching distance of the group pace-setters Bayern Munich and Napoli who drew 1-1 in Italy.
"I hope that it will be very important, this goal," the Italian told a news conference. "Everything can happen in this group, also for the first place."
The result puts City on four points from three games, with Villarreal yet to score a point. Bayern head the group on seven with Napoli on five.
It could have all been so different as City looked once again in danger of being unable to match their sizzling domestic form with a top performance on the European stage after a 1-1 draw with Napoli and 4-1 defeat by Bayern.
The visitors silenced the home crowd in the fourth minute when City keeper Joe Hart could only parry Giuseppe Rossi's shot, sending the ball to the feet of Cani who slid it home.
Spain international David Silva, who had before the game warned his City team-mates of the danger the visitors posed on the break, would have done well to remember his words when he carelessly lost the ball to put them through.
The late arrivals glanced at the scoreboard on the way to their seats tutting in disbelief that the Champions League adventure could soon be over and then watched as City's chances poured in as heavily as the rain.
Aleksandar Kolarov's goal-bound free-kick midway through the first half was tipped over the bar by Diego Lopez, while Nigel de Jong went close with a long-range effort and Yaya Toure squandered a good opportunity.
Mancini's decision to bring on holding midfielder Gareth Barry for Adam Johnson in the 40th minute stabilised City and allowed Toure to get further forward and they made it count soon afterwards.
The lively Kolarov sent a cross from the left towards the rushing Edin Dzeko in the box but the sliding Marchena got to it first and turned it past his own keeper in the 43rd minute.
City had repeatedly been caught offside, with fans hurling all manner of paper missiles including paper aeroplanes and scrunched up balls at the linesman to vent their frustration.
Second-half chances fell to Dzeko, who missed a free header and had an effort disallowed for offside, while Pablo Zabaleta could have snatched the win late on, leaving Mancini critical of so many wasted opportunities.
"I think in the Champions League, when you have one chance you must score," he said. "If not, the game can go another way. We had a lot of chances, for this I think we deserved to win this game."
A lot of that will be forgiven though as Aguero, starting on the bench after a groin injury, came to the rescue.
The Argentine was in the right place at the right time after Zabaleta's cross was flicked on by Silva at the near post and he tapped it over the line to send the Etihad stadium wild.
Asked what had been going through his mind two minutes into stoppage-time, Mancini replied: "I hope to score in every second but there was the last chance.
"I think that in that moment we were lucky, you need to be lucky to score in the last second."
The result leaves Villarreal facing an uphill task, starting with the visit of City in their next group game in just over a fortnight.
"We have played a good match and we did not deserve to win but to draw 1-1," Villarreal coach Juan Carlos Garrido told a news conference.