Match ends, Bristol City 2, Stoke City 0.
Premier League side Stoke City were knocked out of the Carabao Cup by Bristol City of the Championship.
The Potters conceded two goals in 10 minutes after changing to a 4-4-2 formation for the second half.
Famara Diedhiou opened the scoring with his third goal in as many games, and Matty Taylor wrapped up the win for the hosts with a fierce low strike.
Stoke had started well, Kevin Wimmer hitting the crossbar and forcing a goalline clearance from Aden Flint.
But victory means Bristol City, who made nine changes, secured their place in the fourth round for a second successive year.
They have only lost once this season - a 2-1 defeat by Birmingham City in August.
Stoke made six changes but retained three of their back four from Saturday's defeat at Newcastle United.
"I don't know whether the players underestimated Bristol City, but they were certainly warned not to," said manager Mark Hughes.
"We just couldn't get our game going and they were better."
'We have to get the answers'
Stoke had plenty of chances to score in the second half, and both goals they conceded were the result of mistakes.
That contributed to a frustrating night for Hughes, whose side have conceded six goals in their past three games.
"We were very poor," he told BBC Radio 5 live. "Bristol City played really well and showed lots of energy and personality on the ball - also desire, which we didn't show.
"We were lacking in terms of intensity. We had good chances but didn't take them. You have to be clinical.
"You look at the goals we conceded and it was just poor decision-making. The players need to be better in those situations. Our general play wasn't good enough."
Stoke's next match is against Premier League champions Chelsea on Saturday.
Hughes added: "We have to pick ourselves up because we have a big game at the weekend. We have to get the answers. It wasn't a performance I take any pleasure in.
"We made a few changes, like most teams at this stage of the competition, but we were still strong enough and we should have defended better."
'I don't mind who we get next'
Having beaten Watford in the second round, Bristol City have now knocked out two Premier League teams.
And assistant manager Dean Holden hopes they can add to that tally.
"We certainly won't get carried away, but the way we are playing we fancy ourselves against anyone," he said.
"I am not saying we can win this competition, but we want to go as far as possible. There is a buzz about the place even in training and the players are working really hard.
"I don't mind who we get next. Manchester United at Old Trafford would be good, but they have to get past Burton first."
- 19EliassonSubstituted forBryanat 80'minutes
- 10TaylorSubstituted forSmithat 88'minutes
- 9DiedhiouSubstituted forReidat 83'minutes
- 15Martins IndiBooked at 23mins
- 24FletcherBooked at 45mins
- 16AdamBooked at 65minsSubstituted forShaqiriat 74'minutes
- 12TymonSubstituted forBerahinoat 45'minutes
- 25CrouchSubstituted forDioufat 81'minutes
- 11Rodríguez Ruiz
- Geoff Eltringham
- Shots on Target
Second Half ends, Bristol City 2, Stoke City 0.
Foul by Callum O'Dowda (Bristol City).
Kevin Wimmer (Stoke City) wins a free kick in the defensive half.
Corner, Stoke City. Conceded by Jens Hegeler.
Corner, Stoke City. Conceded by Zak Vyner.
Substitution, Bristol City. Korey Smith replaces Matty Taylor.
Attempt missed. Joe Bryan (Bristol City) left footed shot from the left side of the box misses to the right. Assisted by Josh Brownhill.
Offside, Bristol City. Callum O'Dowda tries a through ball, but Marlon Pack is caught offside.
Attempt saved. Callum O'Dowda (Bristol City) right footed shot from the right side of the six yard box is saved in the bottom right corner.
Attempt saved. Josh Brownhill (Bristol City) right footed shot from the centre of the box is saved in the bottom right corner.
Substitution, Bristol City. Bobby Reid replaces Famara Diedhiou.
Josh Brownhill (Bristol City) wins a free kick in the defensive half.
Foul by Kurt Zouma (Stoke City).
Corner, Stoke City. Conceded by Callum O'Dowda.
Substitution, Stoke City. Mame Biram Diouf replaces Peter Crouch.
Substitution, Bristol City. Joe Bryan replaces Niclas Eliasson.
Delay over. They are ready to continue.
Delay in match Saido Berahino (Stoke City) because of an injury.
Attempt blocked. Xherdan Shaqiri (Stoke City) left footed shot from outside the box is blocked. Assisted by Ramadan Sobhi.