Robbie Hall opened the scoring for Oxford before a first-half own goal from Yellows keeper Simon Eastwood levelled.
Defender Kelly then headed the hosts in front - his first goal for the Dons - and after an eventful second half, Wimbledon saw the game out to get their play-off push back on track.
Hall struck after seven minutes, darting inside and hitting a powerful dipping strike from 25 yards into the bottom corner.
But the hosts were back level six minutes later, Dean Parrett crashing a fierce drive off the crossbar which hit the desperately unlucky Eastwood on the back and dribbled in.
Wimbledon were in front in the 28th minute after a Parrett corner was met by a towering Kelly header.
The Dons were rampant after the break, with Lyle Taylor and Dom Poleon guilty of spurning multiple opportunities to extend their lead, but in the end it did not matter.
Report supplied by the Press Association.
Match ends, AFC Wimbledon 2, Oxford United 1.
Second Half ends, AFC Wimbledon 2, Oxford United 1.
Attempt blocked. Alfie Egan (AFC Wimbledon) right footed shot from outside the box is blocked.
(AFC Wimbledon) wins a free kick in the attacking half.
Foul by Robert Hall (Oxford United).
Sean Kelly (AFC Wimbledon) is shown the yellow card for a bad foul.
Foul by Sean Kelly (AFC Wimbledon).
Robert Hall (Oxford United) wins a free kick on the right wing.
Attempt blocked. Kane Hemmings (Oxford United) right footed shot from the left side of the box is blocked.
Dominic Poleon (AFC Wimbledon) is shown the yellow card.
Foul by Dominic Poleon (AFC Wimbledon).
Marvin Johnson (Oxford United) wins a free kick in the attacking half.
Substitution, Oxford United. Joe Rothwell replaces Ryan Taylor.
Dominic Poleon (AFC Wimbledon) wins a free kick in the defensive half.
Foul by John Lundstram (Oxford United).
Foul by Jake Reeves (AFC Wimbledon).
Chris Maguire (Oxford United) wins a free kick in the attacking half.
Attempt saved. Chris Whelpdale (AFC Wimbledon) header from the centre of the box is saved in the centre of the goal.
Attempt missed. Marvin Johnson (Oxford United) right footed shot from a difficult angle and long range on the left misses to the right.
Attempt blocked. Chris Maguire (Oxford United) right footed shot from outside the box is blocked.
Substitution, AFC Wimbledon. Alfie Egan replaces Dean Parrett.
Substitution, AFC Wimbledon. Chris Whelpdale replaces Lyle Taylor.
Substitution, Oxford United. Liam Sercombe replaces Ryan Ledson.
Corner,  AFC Wimbledon. Conceded by Philip Edwards.
Marvin Johnson (Oxford United) is shown the yellow card for a bad foul.
Barry Fuller (AFC Wimbledon) wins a free kick in the defensive half.
Foul by Marvin Johnson (Oxford United).
Dominic Poleon (AFC Wimbledon) wins a free kick on the left wing.
Foul by Kane Hemmings (Oxford United).
Substitution, AFC Wimbledon. Tyrone Barnett replaces Tom Elliott.
Attempt missed. Ryan Taylor (Oxford United) left footed shot from outside the box is just a bit too high.
Corner,  AFC Wimbledon. Conceded by Curtis Nelson.
Attempt blocked. Jake Reeves (AFC Wimbledon) right footed shot from outside the box is blocked.
Attempt saved. Jake Reeves (AFC Wimbledon) right footed shot from the centre of the box is saved in the centre of the goal.
Attempt blocked. Robert Hall (Oxford United) right footed shot from the right side of the box is blocked.
Corner,  Oxford United. Conceded by James Shea.
Attempt saved. Ryan Taylor (Oxford United) right footed shot from outside the box is saved in the bottom left corner.
Attempt missed. Sean Kelly (AFC Wimbledon) left footed shot from the left side of the box is too high.
Attempt blocked. Dominic Poleon (AFC Wimbledon) right footed shot from the left side of the box is blocked.
Corner,  Oxford United. Conceded by Dannie Bulman.
Sean Kelly scored a rare goal as AFC Wimbledon put their disappointing festive period behind them and came from behind to beat Oxford 2-1.