The Villa forward's early strike proved enough for the visiting side, which held on for all three points and compounded more misery on Gus Poyet's struggling Black Cats.
The striker capitalized on a calamitous mistake from Lee Cattermole to score his third goal of the season and end a run of five matches without a win for his side.
Cattermole lost control of a pass from Valentin Roberge 25 yards from goal and Agbonlahor picked up the loose ball before coolly rounding Vito Mannone and slotting home.
The closest the home side came was through Fabio Borini, who saw an effort disallowed for offside shortly after halftime, with Gus Poyet's side otherwise restricted to shots from range as it fell to its first defeat in five league games.
|VIEW FROM THE STADIUM OF LIGHT
|By Theo Squires
Gus Poyet must be devastated. Sunderland was by far the better side today, dominating possession from start to finish, but has nothing to show for it.
The Black Cats defense was superb, ensuring Christian Benteke’s goalscoring drought continues as the Belgian was barely involved, but it is Villa which claims a much-needed win thanks to Lee Cattermole’s moment of stupidity.
The Sunderland captain gifted Gabby Agbonlahor the ball on the ball on the edge of his own area, as the forward rounded Vitor Mannone to claim a second winner at the Stadium of Light in successive seasons. Sunderland thought it had claimed an equalizer through Emmanuel Giaccherini, only for a cruel offside flag to deny the Italian, with that moment summing up the club's performance this afternoon.
Villa made two alterations with Ron Vlaar and Christian Benteke returning from respective calf and knee injuries, while Sunderland brought Jack Colback and Steven Fletcher in after their goalscoring heroics at Cardiff City on Saturday, the Scot going closest early on after being played in by Emanuele Giaccherini in the seventh minute.
But it was the visiting side which went in front after 15 minutes as Cattermole miscontrolled just outside the area, allowing Agbonlahor to nip in, round Mannone and slide the ball into an empty net.
The visiting side was indebted to Vlaar for denying Colback, playing his 100th Sunderland game, as Sunderland responded immediately before Leandro Bacuna almost doubled the lead three minutes later, firing just wide of the post after a driving run down the left.
Villa went close again in the 25th minute, Agbonlahor testing Mannone with a fierce drive after linking up with Benteke on the edge of the box before last-ditch defending saved Villa once more three minutes before the break, the Belgian getting in the way of Ji Dong-Won's effort from 10 yards.
Villa continued to threaten after the interval, Bacuna's 30-yard effort taking a wicked deflection off Roberge which caused Mannone to scramble to his left and parry behind.
Borini, a halftime substitute in place of Cattermole, had a goal ruled out in the 52nd minute. The striker strayed half a yard offside when getting on the end of Ji's knock down.
In the 72nd minute, Benteke came close to ending his run of 11 matches without a goal, curling the ball beyond Mannone only to see Phil Bardsley head it off the line.
Sunderland struggled to make any inroads into the Villa defense and it was the visiting team which looked more likely to snatch a second on the counterattack. Substitute Marc Albrighton blazed over the crossbar when clear on goal with eight minutes remaining, but it mattered little as Sunderland's winless run against the Birmingham club was extended to six matches.