Posh suffered their first defeat under Steve Evans as Oxford United record a 2-1 victory.
Steve Evans suffered his first defeat as Peterborough United manager as a goal in each half secured all three points for managerless Oxford United on a wintry day at the Kassam Stadium.
Jack Marriott scored his 29th goal of the campaign but it was not enough and Jack Baldwin received a second yellow card late on to compound the Posh misery.
The home side got their noses in front inside the opening three minutes as a wind-assisted corner played havoc at the near post and Rob DICKIE bundled the ball over the line from close-range. James Henry cracked the post from 25-yards moments later as Oxford came close to doubling their lead.
Eastwood preserved the lead with a fine stop at the near post to deny Maddison on 32 minutes as Posh tried to get back into the game. Steve Evans made a change on 37 minutes with Omar Bogle replacing Anderson.
Maddison fired over from 35-yards on 42 minutes after a neat bit of skill to lift the ball over his man. One minute of added time was indicated before the referee brought an end to proceedings. Posh made a change at the break with Chris Forrester replacing Ward.
Oxford also made a change with Van Kessell replacing former Posh loanee Obika. Baldwin was cautioned by the referee for a body check on 50 minutes, the first caution of the game to date. Posh were forced into their final change on 53 minutes as Forrester limped out of the action, Danny Lloyd his replacement.
The home side doubled their lead on 61 minutes as a poor pass from Doughty was capitalised on and HENRY was given time to send a fierce drive through Bond who could only get a hand to the powerful effort.
Posh reduced the arrears moments later, Maddison with a low cross that was perfect for MARRIOTT to gobble up his 29th goal of the season from close-range. Ledson was cautioned for a foul on Doughty on 73 minutes.
Marriott was a whisker away from goal number 30 of the season on 75 minutes as he skipped past a few challenges, his low 25-yard shot was a whisker away from nestling in the bottom corner of the net.
Marriott then saw a left-foot volley from just inside the box go over the top after a raking pass from deep by Maddison. Van Kessell was denied by the legs of Bond on 80 minutes as Posh left themselves a bit exposed at the back as they tried to chase an equaliser.
Seven minutes of added time was indicated by the fourth official. Baldwin, for the second year in a row, was shown a second yellow card in stoppage time for a foul by the touchline and Posh ended proceedings with 10-men. Ricardinho fired wide of the far post deep into stoppage time before the referee brought an end to the first defeat under Steve Evans.
Oxford: Eastwood, Ledson, Thomas (sub Napa 68min), Brannigan, Dickie, Henry, Kane, Obika (sub Van Kessell 46min), Mowatt (sub Ricardinho 86min), Smith-Brown, Mousinho. Unused subs: Shearer, Martin, Ruffels, Buckley-Ricketts.
Posh: Bond, Hughes, Shephard, Taylor, Baldwin, Anderson (sub Bogle 37min), Da Silva Lopes, Doughty, Maddison, Ward (sub Forrester 46min, sub Lloyd 53min)), Marriott. Unused subs: O’Malley, Tafazolli, Morias, Cooper.
Half-time: Oxford United 1-0 Peterborough United
Full-time: Oxford United 2-1 Peterborough United
Attendance: 6,604 (708 Posh fans)