OXFORD United booked a trip to Wembley for the Sky Bet League One play-off final after a hard-fought draw in the second leg of their semi-final.

The U’s led 1-0 from the first leg, courtesy of Elliott Moore’s second half header at Grenoble Road, with a 1-1 draw in the reverse tie against Peterborough United enough to secure a place in the final.

Josh Knight levelled the tie four minutes before half-time when he arrived at the back post to find the net from a free kick, but the U’s responded quickly as Cameron Brannagan scored from the penalty spot in first half stoppage time.

Des Buckingham named a completely unchanged starting XI and bench from the first leg, while his opposite number Darren Ferguson made two changes as Kwame Poku and Ricky-Jade Jones came in for David Ajiboye and Malik Mothersille respectively.

The home side made a predictably fast start, looking to keep the play in the U’s half, with Ephron Mason-Clark hanging a ball to the back post, where Hector Kyprianou saw his shot hit straight at Jamie Cumming after six minutes.

Knight then headed over at the near post from a Joel Randall corner, while Cumming produced a brilliant reflex save to thwart a deflected Knight effort in the penalty box.

Just after half an hour had been played, Buckingham was dealt a blow when Tyler Goodrham was forced off with what looked like a foot problem. Marcus McGuane came on in his place in a like-for-like switch as one of the two advanced midfield players.

With four minutes to go until the half-time break, the hosts nudged in front, and levelled the tie on aggregate, when Harrison Burrows whipped in a free kick, and Knight slid in at the back post.

Six minutes of stoppage time were signalled, and at that point it looked like the U’s needed the break, however back-to-back set pieces allowed them to go ahead again in the tie.

Owen Dale was tripped on the very edge of the penalty box, with Brannagan’s free kick hitting the hand of Burrows in the wall.

Referee Andrew Kitchen didn’t hesitate to point to the spot, and Brannagan coolly converted his penalty to Posh goalkeeper Jed Steer’s left.

Buckingham made a switch at the break, introducing Sam Long for Fin Stevens at right back, with the latter having been booked in the opening 45 minutes.

Kitchen had a huge call to make four minutes into the second period, when he waved away appeals for a handball after Randall’s shot was blocked by Joe Bennett in the box.

Not long after, Jones prodded an effort at Cumming, at the goalkeeper’s near post, while Mason-Clark came inside from the left, however his low effort lacked power, allowing Cumming to gather it with ease.

Ferguson made his first alteration after 67 minutes, bringing on Mothersille for Jones up front, while Ajiboye and Jonson Clarke-Harris were the next to enter the fray, in place of Jadel Katongo and Poku.

Greg Leigh replaced Leigh in Buckingham’s third change, with 11 minutes left on the clock.

McGuane had an opportunity to put United two goals clear on aggregate, but his shot from the edge of the box drifted narrowly wide of the post. Marcus Browne then replaced Joe Bennett as the minutes continued to tick by at London Road.

Just as seven minutes of injury time were added on, Long made a heroic clearance on the goal line to thwart a Posh header from a corner.

The Posh went close again three minutes into stoppage time, when Emmanuel Fernandez powered a header over from Archie Collins’ wicked right-wing delivery.

Cumming then produced more late heroics for the U’s, as he flung himself across his goal to push away a Knight header.

Peterborough United (4-2-3-1): Steer; Katongo (Ajiboye 78), Knight, Edwards, Burrows; Kyprianou, Collins; Poku (Clarke-Harris 78), Randall (Fernandez 90), Mason-Clark; Jones (Mothersille 67).

Unused subs: Bilokapic, de Havilland, Dornelly.

Booked: None.

Oxford United (4-3-3): Cumming; Stevens (Long 46), Moore, Brown, Bennett (Browne 86); Rodrigues, Brannagan, Goodrham (McGuane 32); Dale (Leigh 79), Harris, Murphy.

Unused subs: Eastwood, McEachran, Bodin.

Booked: Harris, Stevens, Brown.

Referee: Andrew Kitchen (County Durham)

Attendance: 12,420 (1,306 away).