ED McGinty was the penalty shoot-out hero on debut as Oxford United beat Swansea City to reach the Carabao Cup second round.

The goalkeeper pushed Matty Sorinola’s spot-kick onto the crossbar after the U's battled back from 2-0 down against Sky Bet Championship opposition.

Cameron Brannagan then fired home the winning penalty to put United into tomorrow night’s second round draw.

Brannagan had earlier completed a remarkable turnaround, as his deflected free-kick deep in stoppage-time took the game to a shoot-out.

Jay Fulton fired in an early free-kick after McGinty handled outside the penalty area, with Liam Cullen increasing the lead.

But United rallied after the interval and Alex Gorrin bagged a rare goal when Steven Benda’s clearance ricocheted off him and into the net, before Brannagan scored the hosts’ second 93rd-minute goal in four days.

The hosts’ line-up showed eight changes to the side that started Saturday’s win over Cambridge United, while Swansea made seven alterations.

McGinty got the nod in goal as Jack Stevens was left out of the squad, while 17-year-old central defender James Golding was deployed at right back.

Further forward, Lewis Bate and Jodi Jones came in for their first U’s starts, with Saturday’s hero Tyler Goodrham on the left and Billy Bodin through the middle.

The auxiliary striker almost put United ahead after six minutes following good work from Gorrin and James Henry down the right.

The latter’s cross was just too high for Goodrham, but Bodin took control and checked inside, only to send the shot past the far post.

Swansea went up the other end and McGinty raced off his line to meet a through ball, handling just the wrong side of the white line.

The debutant was booked and he could do nothing about Fulton’s free-kick as the midfielder found the bottom corner from 18 yards.

Swansea were in control and Elliott Moore did brilliantly to divert Sorinola’s low cross over the top from inside the six-yard box, before McGinty made a good reflex stop from the resulting corner.

United had another good chance midway through the half when Bate won possession on the left and found the onrushing Henry, who flashed an effort wide from 20 yards.

The U’s were soon 2-0 behind, though, when an attempted through ball went loose and Cullen reacted quickest to fire under McGinty.

United were unable to get a foothold and were thankful to Ciaron Brown for a goal-saving block and crucial slide tackle on Ollie Cooper in the space of three minutes late in the half.

Karl Robinson made two changes at the break as Stuart Findlay and Brannagan replaced Steve Seddon and Jodi Jones, with Brown going to left back and Henry moving to the right.

There was no immediate change to the pattern of play and Nathaneal Ogbeta spurned a great chance to make it 3-0, dragging wide from 12 yards after Swansea won the ball high up the pitch.

United responded and Brown went close when he headed Henry’s cross back across goal and just past the far post.

There were six more substitutions on the hour mark, four of them from the visitors. Wales international Joe Allen was one of the players to come on as he made his first appearance since returning to the club this summer.

Marcus Browne and Marcus McGuane entered the fray for the U’s, replacing Henry and Bate.

United looked more dangerous with and without the ball, and the high press got them back into the game.

Steven Benda received a backpass with Gorrin closing in and the clearance ricocheted off the midfielder, flying into the net for just his third U’s goal.

United’s tails were up, but it looked like their big chance had gone when Goodrham was put through one-on-one and Benda made a brilliant save.

They continued to push, though, and Brannagan sent the game to penalties when his free-kick from 18 yards took a heavy deflection and flew into the top corner.

Browne, Gorrin, McGuane and Slavi Spasov all stuck away their spot-kicks but Swansea came unstuck with their fourth attempt.

McGinty saved Sorinola’s spot-kick to complete a roller coaster debut, before Brannagan had the final say.

Oxford United (4-3-3): McGinty, Golding, Moore, Brown, Seddon (Findlay 46), Henry (Browne 61), Gorrin, Bate (McGuane 61), Jones (Brannagan 46), Bodin (Spasov 79), Goodrham.

Unused subs: Eastwood, Long, Smyth, Taylor.

Booked: McGinty, Browne.

Swansea City (4-3-3): Benda, Latibeaudiere (Abdulai 61), Cabango, Darling (Ntcham 61), Manning (Wood 61), Cooper, Fulton (Allen 61), Congreve (Cotterill 79), Sorinola, Cullen, Ogbeta.

Unused subs: Lloyd, Williams, Matthews, Thomas.

Booked: Sorinola, Cullen.

Referee: Thomas Bramall (South Yorkshire).

Attendance: 4,373 (873 visitors).