Oxford United 2 (Nelson 19, Garbutt 23) Charlton 1 (Taylor 5, pen).
Kevin Nolan reporting from the Kassam Stadium.
In ill-tempered, frequently chaotic circumstances, Charlton's 11-game unbeaten streak -and with it any last, lingering hope of automatic promotion - was shattered by Karl Robinson's admirably motivated Oxford. With results later in the day confirming that the Addicks were heading for the play-offs anyway, defeat was not hugely significant. You can't win 'em all as Luton discovered last week. But the avoidable nature of this loss might smart for a while.
Showing no signs of mid-table malaise, Oxford absorbed one or two crippling setbacks before eking out a victory they clearly prized. Recovering after falling behind to Lyle Taylor's early penalty was no problem. In next to no time, they had not only equalised but forged ahead, both goals the product of expertly delivered setpieces. But having goalkeeper Simon Eastwood sent off with the second half barely underway effectively handed the initiative back to the visitors - who promptly fumbled it.
But let's briefly put Charlton's cart before Oxford's horse. First things first. And first up was Joe Aribo, who picked ex-Addick Ahmed Kashi's pocket in the centre circle before making a beeline for the penalty area, where he was unceremoniously brought down by Curtis Nelson. Taylor employed his new stop-stop-go technique to give Eastwood no chance from the spot and the visitors, it seemed, were on their way to another routine away win. A tuneful travelling contingent -the choir visible as it were - understandably thought so.
Undeterred by their disastrous start, United had other ideas. They almost drew level when Cameron Branagan's goalbound drive was headed over the bar by Jason Pearce but were inconvenienced only by the time it took Everton loanee Luke Garbutt to swing over the resultant corner from the right. Arriving late beyond the far post with nobody tracking his run, Nelson blasted a venomous volley past a helpless Dillon Phillips.
Five surprising minutes later, Oxford were in front. The free kick Krystian Bielik conceded for a clumsy foul on Mark Sykes to the right of goal was perfectly sited for Garbutt's left-footed setpiece skills. His expertly judged delivery swung away from Phillips' despairing dive and found the top right corner with practised ease. Booked for his violent celebration of the dramatic turn of events, Kashi clearly doesn't buy into any of that "respect your old club" malarkey. Quite right, too. It's cobblers and causes hernias.
Out of sorts and inspiration, Charlton's response was stodgy. Having lost Igor Vetokele to a knock sustained during his bravura performance against Luton, Lee Bowyer's decision to play Taylor up front on his own seemed unduly negative. His deployment of Chris Solly to replace unwell left back Ben Purrington, meanwhile, with Anfernee Dijksteel continuing at right back, created imbalance and unsettled a normally sound back four. Solly is among League One's best right backs but is no more than adequate on the opposite flank. And Dijksteel, still an improving work in progress, is no Solly. The simpler solution would have seen the charismatic Naby Sarr deputising for Purrington with Solly staying in his rightful place. No square pegs in round holes to complicate matters there.
So the width-starved Addicks struggled fitfully, with Solly turning instinctively back on to his left foot and Ben Reeves doing likewise but in reverse on the right touchline. Progress was laboured, with subdued contributions from the usual midfield powerhouse of Josh Cullen, Jonny Williams and Bielik in keeping with the general malaise. Occasional chances were made, none clearer than the one skied haplessly over the bar by Williams after Taylor's blocked effort fell kindly to him at close quarters.
Even the 54th minute dismissal of Eastwood failed to ignite these passive visitors. Leaving his line in a race with Taylor to reach Solly's volleyed pass down the middle, the keeper stepped over the 18-yard line before almost furtively catching the ball. His dismissal was inevitable, with Sykes sacrificed to make way for deputy goalie Jack Stevens. Though Stevens was to distinguish himself during a hectic goalmouth scramble by clawing Patrick Bauer's point blank effort to safety from almost behind his goalline, there was little else to trouble Karl Robinson's spirited troops.
There was time, though, for Solly's uncomfortable afternoon to take a disastrous turn for the worse. Appealing fruitlessly for a penalty after his shot was blocked, the incensed skipper pursued Jamie Mackie and lunged into an unwise, wretchedly timed challenge on the substitute. Sent off for serious foul play, his unavailability for the three remaining league games at least simplifies Bowyer's selection problem, should Purrington miss out on Easter Monday. It also has the added silver lining of protecting Solly from injury before the play-offs commence. Small mercies...
Oxford: Eastwood, Garbutt, Dickie, Nelson, Brannagan, Sinclair, Ruffels, Henry (Hanson 80), Long, Sykes (Stevens 54), Kashi (Mackie 63). Not used: Carruthers, Mousinho, Graham, Napa. Booked: Kashi, Garbutt, Brannagan. Sent off Eastwood.
Charlton: Phillips, Dijksteel (Lapslie 68), Bauer, Pearce, Solly, Aribo, Cullen, Bielik, Reeves (Parker 46), Williams, Taylor. Not used: Maxwell, Pratley, Morgan, Sarr. Booked: Bielik. Sent off: Solly.
Referee: Darren Drysdale, Att: 8,680 (1,806 visiting).