Manchester United's striker Robin van Persie
James Milner had put the visitors ahead with a deflected effort straight after half-time before Vincent Kompany's own goal levelled it up for the home side.
However, Aguero replaced Samir Nasri before firing in at the near-post with 11 minutes remaining to claim the three points and move City closer to leaders United.
When these sides met almost 12 months ago at the Etihad Stadium, United were on the slide and City's win catapulted them into the lead in the title race that ended in dramatic fashion on the last day.
This season's race seems rather more mundane with United coming into this Old Trafford clash with a 15-point lead and very close to claiming their 20th English league title, but this result may just spark some nerves in Alex Ferguson's camp.
City coach Roberto Mancini insisted the title was still gone, though.
"This win was important for us for the second position but this shows that we did not deserve to be 15 points behind. The title is finished," he said.
For Ferguson it was merely a customary blip on the rocky road to championship glory.
'On the edge of their seats'
"We won't be relaxing," he said. "If you look at the history of the club we always make it difficult for ourselves. We put supporters on the edge of their seats every year. The only other plus point is that there are only seven games left now."
The game got off to a blistering start and after James Milner's early shot was turned away by Rafael at the near post, it was Robin van Persie who worked the first real opening but his low shot slid across the slick surface wide of the post.
In an open game, City pressed forward themselves and a well-placed pass from Kompany found David Silva in the area, the Spaniard playing a first-time cross for Carlos Tevez only for Phil Jones to get across just in time to block the Blues' striker.
The visitors had the next chance but Nasri snatched at the ball inside the area after it fell kindly to the Frenchman and it went harmlessly wide.
United, who were without Nemanja Vidić, were defending well and they almost hit on the counter attack but Ashley Young failed to get his cross into the area with Van Persie waiting.
Just before the break, Rafael almost opened the scoring by fluke when he stuck a foot out but the ball looped up onto Joe Hart's crossbar.
Van Persie's in-swinging free-kick
City were aggrieved when referee Mike Dean blew for the break when they were attacking but they were in front soon after the restart following a rare error from veteran Ryan Giggs.
The United midfielder lost possession in midfield and Gareth Barry made the most of it before feeding Nasri, who set up Milner and the England international powered a low shot goalwards that deflected off Jones and past David de Gea.
Jones was in action at the other end to help level the score in the 58th minute as he met Van Persie's in-swinging free-kick after Joe Hart flapped at it.
The ball rebounded off Jones's shoulder and into the back of Kompany with the City defender credited with the own goal.
City boss Roberto Mancini claimed Aguero was ready to play but not fit enough for 90 minutes and he brought him on with 19 minutes to go.
The Argentinian was certainly fit enough to sprint past the United defence late on after Yaya Touré fed him the ball and he smashed it into the roof of De Gea's net at the near post to send the visiting City fans wild.
Ferguson responded by throwing on Javier Hernandez for the final few minutes but United could not create a clear opening to get an equaliser. – AFP