Martin O'Neill saw his goal-shy side draw yet another blank against his former club, as the striker scored the only goal of the game to earn a vital three points for the visitors
It was a deserved win for the West Midlands club as they held on to the slender advantage, handed to them by Agbonlahor in the 56th minute. For the home side it was another worrying afternoon as they produced a familiar toothless performance in front of goal.
O'Neill brought Stephane Sessegnon back into the fold at the expense of James McClean, while Phil Bardsley also returned with Danny Rose dropping to the substitutes' bench.
Villa boss Paul Lambert surprisingly left former Black Cats frontman Darren Bent out of the Villa squad as he made four changes to the team that drew with Norwich City, which included handing a top-flight debut to summer signing Ashley Westwood.
Coming into the game as the two lowest scorers in the division, both sides knew they needed to start finding the net if they were to secure the win that would provide the kick-start their respective seasons desperately required.
And the hosts thought they had snatched the lead in the fourth minute, but top scorer Steven Fletcher was flagged offside after latching on to Sessegnon’s lofted through ball.
However, the visitors soon settled into their stride and Christian Benteke set up Agbonlahor for a snap shot that was deflected over by a superb Bardsley block.
Villa's bright spell did not last long, though, as Sunderland started to take a hold of the game. Craig Gardner saw his tame effort trickle behind before captain Lee Cattermole curled the ball just wide from the edge of the area after being picked out by Adam Johnson.
Andreas Weimann then stung the palms of Simon Mignolet after spinning away from two red and white shirts just before half time, but it was a different story 10 minutes into the second half as Agbonlahor broke the deadlock.
Benteke leapt to meet a deep cross from the right and his header across goal fell straight to the Villa forward, who made no mistake from close range.
Sunderland responded with vigour and had a penalty appeal turned down in the 64th minute after Johnson's cross appeared to strike Benteke on the arm in the penalty area.
But again they were severely lacking invention in the final third with Fletcher and Sessegnon barely offered a whiff of a clear-cut opportunity all afternoon. It was not until Louis Saha came off the bench that they looked threatening, with the Frenchman heading Sebastian Larsson's whipped free-kick over the bar.
Villa still looked dangerous on the break and a sloppy pass from Cattermole allowed Ireland to set up Weimann, but Mignolet again denied him with a smart low save.
They were then indebted to Brad Guzan for preserving their lead, as he did brilliantly to grasp on to a loose ball ahead of Fletcher after spilling Cattermole's dipping effort.
And despite some relentless pressure from Sunderland in the dying embers, Villa held on to secure a priceless three points and their first away win since January.