The defender's slip proved costly as Roberto Mancini's side managed to grind out the win to close the gap to 12 points at the top of the Premier League table
A badly timed slip in the midfield from Ciaran Clark led to Carlos Tevez’s opener in first-half stoppage time, before Edin Dzeko saw his rebound from Yaya Toure’s strike ruled out for offside.
The result also means Paul Lambert’s side remains in the bottom three, having only picked up one victory in their last 11 league matches.
The home side was unchanged from its defeat at Arsenal, with Ron Vlaar still sidelined due to a calf problem, while Darren Bent was also out with a foot injury.
Roberto Mancini made one change from his side’s 2-0 win over Chelsea, replacing Sergio Aguero with compatriot Tevez up front after the former picked up a knee injury in training. Jack Rodwell kept his place in midfield, but Gareth Barry returned to the bench after recovering from an ankle injury.
Villa started brightly, causing panic inside the City area when Javi Garcia sliced a clearance from Joe Bennett’s cross, and a Joe Hart punch went straight up into the air, but Kolo Toure eventually cleared the danger.
Villa’s early superiority nearly paid off on 20 minutes when Benteke met Charles N’Zogbia’s corner with a powerful header which looked destined for the bottom corner but for Tevez’s clearance off the line.
After Edin Dzeko replaced the injured Rodwell, however, Mancini’s men started to enjoy more possession, and Pablo Zabaleta nearly put the visitors in front, latching on to Tevez’s through pass and hammering a superb shot across goal which Guzan managed to flick on to the post.
Guzan was called into action again shortly after, parrying away a 20-yard curling effort from Tevez before diverting away Dzeko’s low effort from the right-hand side of the area.
City’s late first-half dominance finally paid off in stoppage time when Ciaran Clark slipped in midfield and Dzeko stole the ball and squared it to Tevez, who skipped past Brad Guzan before slotting it past Clark, who had recovered to get back to the line.
Both sides came out quickly after the break, but it was City that nearly doubled its lead as Dzeko fired a volleyed effort from the edge of the box which deflected off Nathan Baker and wide of Guzan’s post.
Tevez then spurned a fine opportunity, electing to shoot with Silva free in the area, seeing his shot cleared away by Clark with Guzan beaten.
With City pressing for more, Villa was able to occasionally find space in behind, and on the hour mark Andreas Weimann was able to fire in a cross from the right for Gabriel Agbonlahor but Kolo Toure managed to scramble it behind.
After Matthew Lowton drilled a 35-yard effort wide, City was denied a second when Yaya Toure’s low left-footed effort from 20 yards was tipped on to the post by Guzan with another stunning fingertip save, but it came to Dzeko who fired the ball into an empty net only for the flag to go up for offside.
City then forced a corner and Garcia side-footed a volley just wide of the post before Benteke was denied a penalty late on, when it looked like Nastasic brought down the defender with a clumsy challenge.
Villa pressed for an equaliser late on but City held on for the win with what was - for the majority of the match - an understated performance.