Produced two fine saves to deny Gabby Agbonlahor a second goal and keep out Leandro Bacuna's fierce deflected shot from 30 yards. Solid performance. Unfortunate for the goal.
Unlucky not to score after cutting in midway through the second half. Struggled at times to cope with Bacuna's pace. Managed to get back and deny Benteke a certain goal, heading the Belgian's curling effort off his own goal-line.
Looked very solid down the right-hand side. Ensured Weimann's attacking threat was minimal and also managed to support the attack well.
A great performance from the centre-back. Dominant in the air and first to the majority of loose balls, ensured Benteke failed to rediscover his goalscoring touch.
Strong performance in the centre of defence. Dealt with Benteke and Agbonlahor well. Brought off for Adam Johnson as his side desperately chased an equaliser late on.
Lively performance from the Italian. Constantly threatened the Villa back-line. Created a number of chances for Fletcher and Ji, only to see neither find the target.
Looked impressive in midfield. Constantly chasing players down and spreading the ball well. Booked late on for clash with Agbonlahor.
Awful performance from the Sunderland captain. Gifted Villa an easy goal in a game they barely challenged in. Afternoon came to a miserable end at half time as he was withdrawn in favour of Fabio Borini.
Great performance in the middle of the park from Ki as Sunderland dominated possession. The man that makes the Black Cats tick, he covered every blade of grass and was unfortunate to be on the losing side.
Quiet in attack. Wasted a golden chance when fed up Giaccherini. Struggled to impose himself on the game.
Looked a threat but failed to take his chances. Unlucky to see Baker's brave block deny him what looked like a certain goal. Replaced by Altidore with 25 mins left on the clock.
Solid performance in goal from the American. Admittedly had little to do, but kept out all efforts that came his way to help secure a vital three points for Villa.
Struggled to cope with Giaccherini's quick feet but grew into the game as the match wore on. Has so far failed to reproduce his form from last season.
Strong performance in the heart of defence. Produced a fine block to deny Ki what looked like a certain goal in the first half. Kept Fletcher quiet for the majority.
Looked sluggish on his comeback from injury. Flat-footed at times and fortunate to see an offside flag deny Giaccherini when it looked like the Dutch international had played him on. Withdrawn for Albrighton midway through the second half.
Looked complacent in defence. Was often caught ball-watching but did support the attack well down the left-hand side.
Passed the ball around well but was slow closing players down. Picked out Albrighton with a glorious pass late on but the winger failed to find the target.
Quiet in the centre of the park, and was second best against Ki and Colback as Sunderland dominated possession. Lost his head late on as he clashed with Ki.
Lively down the right-hand side. Unlucky not to score a spectacular goal as Mannone reacted well to keep out a long-range drive.
Poor performance from the Belgian. Clearly lacking confidence, Diakite had the better off him in the air. Tried to link up with Gabby Agbonlahor, but failed to test Mannone. Unfortunate to see his one chance cleared spectacularly off the line by Phil Bardsley.
Virtually anonymous. Really does not look happy playing in midfield. Offered nothing in attack. A poor performance. Hard to justify his selection in the side.
Alert enough to steal possession from Cattermole before rounding Mannone to give his side the lead. Only a good save from the Italian denied him a second. Booked late on for clash with Colback.
Came on midway through the second half with his side needing a goal. Provided more of a threat than Ji and Fletcher, but failed to provide an equaliser.
Brought on at the break and almost made an immediate impact, only for his strike to be harshly ruled out for offside. Lively performance after coming on.