Match ends, Charlton Athletic 0, Oxford United 1.
Oxford continued their pursuit of a League One play-off place with a victory at Charlton that left their hosts even further behind the top six.
A hopeful first-half strike from on-loan Everton man Conor McAleny, once of Charlton, took Oxford to within six points of sixth place with two games in hand.
The Addicks, whose disappointment was increased by Chris Solly's red card, remain 13th, three places behind their visitors and 10 points behind the top six.
The hosts almost took the lead with their first attack. Gifted space in the third minute on the edge of the area, Nathan Byrne sent a right-footed shot against the crossbar, but the ball bounced back and away from danger.
Stephy Mavididi also threatened with a run down the left wing and shot that Simon Eastwood saved, but it was as Charlton were appearing to settle that their visitors took the lead.
McAleny found himself with space and few options in midfield and his ambitious, low shot went beyond Declan Rudd's reach and in off the left post.
The Addicks began to respond during the second half with the introduction of substitutes Tony Watt and Joe Aribo, and appealed for a penalty when Ricky Holmes was brought down in the area after the former's cut-back.
In the 59th minute, Mavididi cut in from the left wing and struck against the post, but after the equalising goal they needed continued to elude them, Solly was given a straight red card in the 70th minute for a late challenge on John Lundstram.
Match report supplied by the Press Association
- 5BauerBooked at 69mins
- 8CroftsBooked at 45minsSubstituted forBotakaat 81'minutes
- 19Forster-CaskeyBooked at 25minsSubstituted forWattat 56'minutesBooked at 80mins
- 21ByrneSubstituted forAriboat 56'minutes
- 20SollyBooked at 70mins
- 7MartínezSubstituted forHemmingsat 61'minutes
- 8SercombeSubstituted forHallat 75'minutes
- 4LundstramBooked at 45mins
- 11McAlenyBooked at 86minsSubstituted forMaguireat 88'minutes
- 28JohnsonBooked at 90mins
- Gavin Ward
- Shots on Target
Second Half ends, Charlton Athletic 0, Oxford United 1.
Attempt blocked. Patrick Bauer (Charlton Athletic) header from the centre of the box is blocked.
Corner, Charlton Athletic. Conceded by Curtis Nelson.
Ricky Holmes (Charlton Athletic) wins a free kick in the defensive half.
Foul by Chris Maguire (Oxford United).
Marvin Johnson (Oxford United) is shown the yellow card for a bad foul.
Stephy Mavididi (Charlton Athletic) wins a free kick on the right wing.
Foul by Robert Hall (Oxford United).
Attempt missed. Marvin Johnson (Oxford United) right footed shot from the right side of the box is just a bit too high.
Attempt missed. Philip Edwards (Oxford United) right footed shot from the centre of the box misses to the left.
Substitution, Oxford United. Chris Maguire replaces Conor McAleny.
Corner, Charlton Athletic. Conceded by Conor McAleny.
Ricky Holmes (Charlton Athletic) is shown the yellow card.
Foul by Lewis Page (Charlton Athletic).
Marvin Johnson (Oxford United) wins a free kick in the attacking half.
Corner, Oxford United. Conceded by Jorge Teixeira.
Foul by Stephy Mavididi (Charlton Athletic).
Philip Edwards (Oxford United) wins a free kick in the defensive half.
Substitution, Charlton Athletic. Jordan Botaka replaces Andrew Crofts.