Match ends, Sunderland 3, Oxford United 1.
Aiden McGeady and Max Power's late strikes for Sunderland secured a win over 10-man Oxford as the Black Cats kept the heat on in the race for automatic promotion from League One.
A hotly-contested game saw U's boss Karl Robinson sent to the stands after McGeady's 81st-minute goal, with Oxford midfielder Mark Sykes having earlier been dismissed for a second yellow card just after the hour.
But Sunderland, who stay third, made the most of those incidents by coming from behind to extend their unbeaten run to 13 matches in all competitions.
The high-flying hosts did not have it all their own way and they faced a harder challenge when James Henry's brilliant strike put Oxford in front in the 21st minute.
Henry struck first time inside Lee Burge's far corner after Brandon Barker's excellent run and pass deep inside the home side's half created the opening from 22 yards.
But Lynden Gooch's near-post finish following Jordan Jones' clever run and low cross in the second minute of first-half stoppage-time levelled things up.
After the restart Oxford had Sykes sent off just after the hour for a second caution when he was late on Luke O'Nien in the Sunderland area.
Jones then hammered the Oxford bar with a long-range drive soon after, but Sunderland were not to be denied and, with nine minutes remaining, McGeady was on hand to drill low inside Jack Stevens' bottom corner from the edge of the area after Gooch's run inside.
Oxford pressed in the closing stages but Sunderland wrapped things up when Power was left with just the keeper to beat deep into stoppage time.
Match report supplied by PA Media.
- 2McLaughlinBooked at 19minsSubstituted forStewartat 67'minutesBooked at 89mins
- 6PowerBooked at 90mins
- 27JonesSubstituted forMaguireat 77'minutes
- 28McGeadySubstituted forLeadbitterat 87'minutes
- 14FordeSubstituted forWinnallat 90'minutes
- 5MooreBooked at 81mins
- 17HenryBooked at 54minsSubstituted forLeeat 75'minutes
- 8BrannaganSubstituted forGraysonat 89'minutes
- 10SykesBooked at 61mins
- 25ShodipoSubstituted forKellyat 75'minutes
- 9TaylorSubstituted forAgyeiat 75'minutes
- 30BarkerBooked at 25mins
- Trevor Kettle
- Shots on Target
Second Half ends, Sunderland 3, Oxford United 1.
Foul by Callum McFadzean (Sunderland).
Sam Winnall (Oxford United) wins a free kick on the right wing.
Max Power (Sunderland) is shown the yellow card for excessive celebration.
Goal! Sunderland 3, Oxford United 1. Max Power (Sunderland) right footed shot from the centre of the box to the bottom left corner. Assisted by Charlie Wyke with a through ball following a fast break.
Corner, Oxford United. Conceded by Ross Stewart.
Attempt missed. Robert Atkinson (Oxford United) header from the centre of the box misses to the left. Assisted by Liam Kelly with a cross following a corner.
Corner, Oxford United. Conceded by Luke O'Nien.
Substitution, Oxford United. Sam Winnall replaces Anthony Forde.
Substitution, Oxford United. Joe Grayson replaces Cameron Brannagan.
Ross Stewart (Sunderland) is shown the yellow card.
Foul by Ross Stewart (Sunderland).
Anthony Forde (Oxford United) wins a free kick in the defensive half.
Substitution, Sunderland. Grant Leadbitter replaces Aiden McGeady.
Attempt blocked. Max Power (Sunderland) right footed shot from more than 35 yards is blocked. Assisted by Chris Maguire.
Corner, Sunderland. Conceded by Robert Atkinson.
Elliott Moore (Oxford United) is shown the yellow card.
Goal! Sunderland 2, Oxford United 1. Aiden McGeady (Sunderland) right footed shot from outside the box to the bottom right corner. Assisted by Lynden Gooch.
Chris Maguire (Sunderland) wins a free kick in the attacking half.
- Dragons' Den returns: A new series of eager entrepreneurs hoping to strike the deal of a lifetime
- Your film night sorted: Epic films for you to choose from this Easter weekend