Hull midfielder Markus Henriksen scored an injury-time winner to knock Stoke out of the EFL Cup and heap more pressure on Potters boss Mark Hughes.
Marko Arnautovic gave Stoke the lead when he cut in from the left and struck a fierce drive into the net.
Ryan Mason equalised for the Tigers with an equally spectacular effort when he volleyed home at the back post.
Stoke dominated the rest of the contest but the Norway international finished from close range to send Hull through.
Hughes’ side have picked up just one point from their first five matches of the season and are bottom of the Premier League, but chairman Peter Coates said that the team’s poor start needs to be seen in context and that it is very early in the season.
The EFL Cup did not provide any respite for Hughes, though, despite watching his side have 21 attempts at goal.
Hull’s reward for their victory over last season’s semi-finalists is a trip to Bristol City in the fourth round.
“For us to then lose it right at the end is a bitter pill to swallow, I have to admit.
“We were by far the better team on show, we were the only team trying to make things happen and unfortunately, despite creating 23 shots at goal, we scored one and they managed to score two of their four or five – it’s hard to take.
“The longer this run goes on without our first win then the more significant each game becomes for us, so we will attempt to get that first win at the weekend – and there is absolutely no reason why we can’t do that.”
Hull first-team coach Stephen Clemence:
“It was a great result, we showed fantastic spirit and togetherness. The lads had to grind it out and they showed great character.
“You come to an established Premier League club like Stoke and you are not going to get it all your own way. It was tough.
“We scored two outstanding goals as well. Ryan Mason’s volley was a hell of a goal and you’ll not see a better goal all week.”
Match ends, Stoke City 1, Hull City 2.
Second Half ends, Stoke City 1, Hull City 2.
Substitution, Hull City. Adama Diomande replaces Shaun Maloney.
Attempt missed. Joe Allen (Stoke City) left footed shot from the centre of the box is close, but misses to the left.
Goal! Stoke City 1, Hull City 2. Markus Henriksen (Hull City) right footed shot from the centre of the box to the top left corner. Assisted by Shaun Maloney.
Attempt saved. James Weir (Hull City) left footed shot from the centre of the box is saved in the centre of the goal.
Attempt missed. Charlie Adam (Stoke City) right footed shot from outside the box is close, but misses to the right.
Attempt blocked. Ramadan Sobhi (Stoke City) right footed shot from very close range is blocked.
Attempt blocked. Bruno Martins Indi (Stoke City) right footed shot from the centre of the box is blocked.
Erik Pieters (Stoke City) wins a free kick on the left wing.
Foul by Harry Maguire (Hull City).
Substitution, Hull City. Tom Huddlestone replaces David Meyler.
Attempt saved. Mame Biram Diouf (Stoke City) left footed shot from very close range is saved in the bottom right corner.
Corner, Stoke City. Conceded by David Marshall.
Glen Johnson (Stoke City) wins a free kick in the defensive half.
Foul by Will Keane (Hull City).
Attempt missed. Shaun Maloney (Hull City) right footed shot from outside the box is close, but misses to the left.
Attempt saved. Charlie Adam (Stoke City) right footed shot from the centre of the box is saved in the top centre of the goal.
Substitution, Stoke City. Charlie Adam replaces Giannelli Imbula.