Black Cats claim spoils
Sunderland scored twice late on to condemn Town to defeat at Stadium of Light.
Luke O'Nien headed in following a corner with five minutes remaining before Aiden McGeady converted a stoppage time penalty to settle the encounter.
Paul Cook made one change from the League fixture against Oxford seven days earlier, Sone Aluko replacing Wes Burns who dropped out of the matchday squad.
Janoi Donacien, who signed a contract extension earlier this week, started at right-back in what was his 50th appearance for the Club.
The first chance went the way of Town, Macauley Bonne connecting well with a volley on the turn that was blocked after Bersant Celina had stood a cross up to the back post.
Cook's side were denied again midway through a heated first half, Kyle Edwards' curling effort being headed clear by Corry Evans, who had been booked moments earlier for a late and dangerous tackle on the winger.
Sunderland's Thorben Hoffman was the first 'keeper to be called into any action of note with just under half an hour played, saving Celina's low shot after Edwards had found the Kosovan inside the penalty area.
Celina turned provider six minutes later, pulling the ball back to the edge of the box for Sam Morsy, who saw his side-footed effort deflected behind.
An impressive triple-save from Hoffman kept Town at bay just before the break. Celina met Donacien's low cross from the right well but his initial shot and a well-struck rebound were parried away before Bonne's improvised effort looped into the grateful arms of the home 'keeper.
The Black Cats' best chance of the half came in stoppage time but Nathan Broadhead sliced his attempted volley from the middle of the box out for a throw-in following O'Nien's cross.
Town continued to look the more dangerous side after the interval, Morsy dragging an effort wide before Bonne headed off target.
George Edmundson was required to deny the hosts at the other end, pulling off a last-ditch tackle before Carl Winchester could pull the trigger after being played in behind.
Aluko had a good chance to break the deadlock with 12 minutes remaining but, after a Scott Fraser cross had only been cleared as far as the wideman, he volleyed over the top of the frame from 10 yards.
O'Nien headed in at the back post following a corner to snatch the lead with five minutes remaining.
McGeady fired a penalty into the top corner after Ross Stewart's shot had been adjudged to have hit the arm of Toto Nsiala in stoppage time.
Sunderland: Hoffmann, Winchester, Wright, Doyle, O'Nien, Evans (C) (Pritchard 76'), Neil, Embleton (McGeady 63'), Broadhead (Dajaku 80'), Gooch, Stewart.
Subs: Patterson, Flanagan, Alves, O'Brien.
Booked: Evans, Gooch, Johnson (manager), Stewart, Winchester.
Town: Walton, Donacien, Nsiala, Edmundson, Clements, Morsy (C), Evans, Aluko, Celina (Fraser 68'), Edwards (Chaplin 69'), Bonne (Pigott 80').
Subs: Hladky, Vincent-Young, Burgess, El Mizouni.