English Championship side Bristol City dumped Manchester United out of the League Cup on Wednesday, scoring with seconds remaining to beat the holders 2-1 as Chelsea also progressed to the semi-finals after late drama of their own.

The other semi-final next month sees an all-London clash between the Blues and Arsenal. At Stamford Bridge, Chelsea took an early lead through Willian and looked set to coast over the line before a late leveller from Dan Gosling threatened to take the tie into extra time.

But within seconds the home side were back in front as substitute Alvaro Morata sealed their place in the semi-finals.

United, second in the Premier League, made 10 changes from their weekend victory against West Bromwich Albion but still boasted a star-studded line-up including a fearsome front three of Marcus Rashford, Zlatan Ibrahimovic and Anthony Martial against the second-division high-flyers.

But as the match appeared to be drifting towards extra time with the score at 1-1, unfancied Bristol dug deep to fashion one last chance and Korey Smith’s strike sparked scenes of wild celebration at Ashton Gate.

Bristol, third in the Championship, have now beaten four Premier League sides on their march to the last four of the League Cup and their reward is an even-more daunting-looking two-legged tie against runaway Premier League leaders Manchester City. The other semi-final next month sees an all-London clash between Chelsea and Arsenal.

“It’s an overwhelming feeling of pride, to beat Manchester United is incredible,” said manager Lee Johnson. “They are a special group. It has been a long time since we had a result like that at Ashton Gate.

The home side took the lead after an even first half, Joe Bryan firing the home side ahead in the 51st minute with a left-foot shot that arrowed into the net past the despairing dive of Sergio Romero. United were only behind for a few minutes before Ibrahimovic blasted the ball through the wall after a softish-looking free-kick awarded for a foul on Paul Pogba in a central position.

Manager Jose Mourinho threw on even more attackers as he pushed for victory, with Romelu Lukaku replacing Daley Blind while Henrikh Mkhitaryan came on for Ibrahimovic. But despite pressure from the away side, Bristol held their nerve, taking advantage of some sloppy defensive play from United to score deep into injury time through Smith, who burst into the area, chested the ball down and finished coolly with his left foot.

United surged forward for one last push but it was too late and at the final whistle joyous fans streamed onto the pitch.

‘Unbelievable’

“Unbelievable, I don’t know what to say,” said matchwinner Smith. “We played brilliantly like we have all season. I wasn’t being tracked when I made the runs forward, I was gutted with the one in the first half but it was a great tackle to be fair. “I joined when we were in League One with three stands. We have been brilliant this season.”

United welcomed midfield general Pogba back into the side after the three-match suspension he picked up against Arsenal earlier this month and Ibrahimovic, 36, made his first start since damaging knee ligaments in April.

Mourinho said Bristol were lucky but praised them for their performance. “They played brilliantly, they fought like it was the game of their lives which probably it was,” he said. “A beautiful day for football. A team from the lower division won. A big day for them.

“In the first half we lacked the intensity that they had. Physically and mentally. It was one more day in the office for my players, a day that some of them didn’t even want to come to the office.”