The England international hit two against the Barclays Premier League champions, semi-finalists in this competition in two of the last three seasons, in a pulsating third-round tie at the Etihad Stadium on Tuesday night.
Mario Balotelli and then Aleksandar Kolarov had twice put the hosts ahead while Villa old boy Gareth Barry’s helped his former team’s cause with an own-goal equaliser and Agbonlahor took the tie to extra-time.
Charles N’Zogbia scored only his third goal since his summer 2011 move from Wigan to put Villa ahead early in the added period, and Agbonlahor ensured there was no way back with his second goal seven minutes from the end.
The first half was notable only for its lack of any real action.
Villa began the brighter but lacked ideas in the final third and when they did create arguably the best opening of the 45 minutes they contrived to miss it.
Agbonlahor fired in a low shot which was parried by Costel Pantilimon, whose inclusion was one of the 10 changes manager Roberto Mancini made to his starting line-up.
But when the rebound was cut back to Christian Benteke he got only the slightest of touches when more contact would have diverted the ball into an unguarded net.
City’s fluency was no doubt affected by the changes, which would have been the full 11 had Jack Rodwell not been injured in the warm-up and replaced by Joleon Lescott.
Teenage midfielders Abdul Razak and Denis Suarez were given more first-team experience but they struggled to get a foothold in the game.
Ultimately it came down to City’s more experienced players to make the breakthrough with, surprisingly, their first shot of the match in the 27th minute the only one of the half they managed on target.
Carlos Tevez’s sweeping crossfield ball picked out James Milner who cut inside on his left foot and curled a low pass into Balotelli.
Villa’s centre-backs Ron Vlaar and Ciaran Clark inexplicably gave the Italian far too much room inside the penalty area – so much so it first appeared he must have been offside – and Balotelli took one touch before firing home from 12 yards.
It was his sixth goal in four matches against the midlanders.
Early in the second half Vlaar, having learned his lesson from the goal, got closer to Tevez than he perhaps should have, but although the Argentina international went down in the penalty area referee Phil Dowd ruled the shoulder-to-shoulder contact fair.
Villa had looked toothless in attack but they were gifted an equaliser on the hour when 19-year-old midfielder Razak was caught in possession just outside his own area.
Andreas Weimann’s low cross was palmed out by Pantilimon straight at Barry who could only watch in horror as his attempted control turned into a cushioned volley into his own net.
The teams were level for barely four minutes as, after Mancini had sent on Scott Sinclair for the 18-year-old Suarez, Kolarov whipped a trademark free-kick past Villa goalkeeper Shay Given after Vlaar had fouled Balotelli.
But having got themselves in front again City threw it away as they allowed Agbonlahor to run straight through the heart of the team and clip a shot past Pantilimon.
Given denied his former club a late winner when he tipped over Balotelli’s header, while Tevez hit the crossbar with a dipping free-kick.
For the second time in the match Pantilimon’s inability to either hold on to the ball or ensure it was not kept alive cost City dearly five minutes into extra time when he half-saved Agbonlahor’s shot and N’Zogbia rolled in the rebound.
Villa were content to keep possession and hit City on the break and Agbonlahor added the finishing touch to their victory when his deflected shot looped over the City goalkeeper.
As the competition was fourth on City’s list of priorities the repercussions are unlikely to be felt for too long, but for five-time League Cup winners Villa it gives them just the lift they needed after an indifferent start to the campaign under new manager Paul Lambert.