Jon Walters scored twice in extra-time against Crystal Palace as Stoke secured an FA Cup fourth-round tie against Manchester City.
Glenn Murray's late spot-kick had denied Premier League Stoke victory in normal time, after Kenwyne Jones had scored the opener.
Walters made it 2-1 with a header, then converted Jones's pass before Cameron Jerome added a fourth late on.
Earlier, Palace's Jermaine Easter had his penalty saved by Thomas Sorensen.
- Stoke have not lost any of their last nine FA Cup matches at the Britannia Stadium, since Birmingham recorded a 1-0 fifth-round win in February 2006.
It was a heroic effort by the Danish keeper, but the Potters' hero of the day was Walters, who bounced back brilliantly from last weekend's nightmare display against Chelsea.
On that occasion, the forward scored two own goals and missed a penalty, but he was on target at the right end on a chilly Tuesday night.
Tony Pulis's side enjoyed the majority of the possession during the opening half, but it was Palace who should have taken the lead 10 minutes before the break.
Forward Zaha, understood to have been watched by Manchester United manager Sir Alex Ferguson, was brought down by Ryan Shawcross in the area. Easter stepped up but his effort was pushed on to the post by Sorensen. Zaha, who was also booked for diving, was substituted at half-time.
Dean Whitehead and Matthew Etherington had gone close for Stoke before Jones, who replaced Peter Crouch in the second half, headed in a weak effort that should have been saved by Lewis Price.
Stoke must have thought they had secured victory until three minutes before the end of normal time when Jonathan Williams fell under the challenge of Shawcross and Palace's top scorer Murray slotted in from the spot.
The match swung back in favour of Stoke with just a few minutes of extra-time played when Walters headed in, before slotting his second past Price.
Jerome then made the scoreline emphatic when he rounded Price to score in the final minute.
Stoke manager Tony Pulis on England-born Republic of Ireland forward Walters:
"I wasn't going to play Jon tonight - I had decided on Friday that I would give him a rest.
"But then after what had happened on Saturday, I decided the best thing to do was to get him out there again.
"And scoring the goals and playing the way he played, I think it's just great for him. It will wash away what happened on Saturday.
"He gives everything, Jon. He is just a very gifted individual in lots of respects, and his biggest asset is his big strong heart and the British bulldog spirit he has got."
Live Text Commentary
Extra time ends and the game is over.119:52
Kenwyne Jones provided the assist for the goal.119:52 Goal scored
Goal! - Cameron Jerome - Stoke 4 - 1 C Palace Cameron Jerome finds the back of the net with a goal from inside the penalty box to the bottom right corner of the goal. Stoke 4-1 Crystal Palace.118:55
Peter Ramage takes the free kick.118:55 Booking
Booking Andre Moritz is shown a yellow card.118:48 Booking
Booking The referee shows Jonathan Walters a yellow card for unsporting behaviour.117:49
Glenn Whelan concedes a free kick for a foul on Andre Moritz.115:44
Andre Moritz takes the inswinging corner, Geoff Cameron manages to make a clearance.114:53
Header from deep inside the area by Glenn Murray goes over the bar.112:04
Free kick crossed by Robert Huth.112:04 Booking
Booking Mile Jedinak receives a caution.111:51
Unfair challenge on Cameron Jerome by Mile Jedinak results in a free kick.111:12
Kenwyne Jones takes a shot. Save by Lewis Price.109:16
The assist for the goal came from Kenwyne Jones.109:16 Goal scored
Goal! - Jonathan Walters - Stoke 3 - 1 C Palace Jonathan Walters grabs a goal from close in to the bottom left corner of the goal. Stoke 3-1 Crystal Palace.107:09
Unfair challenge on Jonathan Williams by Glenn Whelan results in a free kick. Free kick crossed left-footed by Andre Moritz from left wing.105:42
Corner taken left-footed by Matthew Etherington, Yannick Bolasie makes a clearance.105:01
The second half of extra-time kicks-off.105:00 +0:52
Glenn Whelan takes a inswinging corner from the left by-line played to the near post, clearance by Damien Delaney.103:54
Glenn Whelan produces a volleyed right-footed shot from 35+ yards. Lewis Price makes a save.
Unfair challenge on Ryan Shawcross by Aaron Wilbraham results in a free kick. Direct free kick taken by Ryan Shawcross.101:53
Andre Moritz takes a shot from long distance which goes wide of the right-hand upright.101:06
Corner taken by Andre Moritz from the right by-line to the near post, clearance made by Glenn Whelan.99:37
Corner taken left-footed by Matthew Etherington to the near post, Close range headed effort by Ryan Shawcross misses to the right of the goal.97:40
Short corner taken by Andre Moritz from the right by-line.95:56
The offside flag is raised against Peter Ramage. Thomas Sorensen takes the indirect free kick.94:32
Assist by Matthew Etherington.94:32 Goal scored
Goal! - Jonathan Walters - Stoke 2 - 1 C Palace Jonathan Walters finds the back of the net with a headed goal from inside the six-yard box. Stoke 2-1 Crystal Palace.94:08
Effort on goal by Dean Whitehead from inside the penalty box misses to the right of the target.90:00 +4:27
The referee blows for the end of normal time.90:00 +2:41
Inswinging corner taken by Matthew Etherington from the right by-line played to the near post, clearance made by Andre Moritz.90:00 +1:22
Headed effort from inside the area by Kenwyne Jones misses to the right of the goal.90:00 +0:16
Shot from deep inside the area by Yannick Bolasie clears the bar.89:24
Shot by Andre Moritz from outside the box goes over the target.88:28
Free kick awarded for a foul by Jonathan Williams on Matthew Etherington. Matthew Etherington delivers the ball from the free kick left-footed from left wing, Lewis Price makes a save.87:29
The referee blows for offside against Cameron Jerome. Lewis Price restarts play with the free kick.86:08
The assist for the goal came from Jonathan Williams.86:08 Goal scored
Goal! - Glenn Murray - Stoke 1 - 1 C Palace Power penalty scored by Glenn Murray. Stoke 1-1 Crystal Palace.84:57
Foul by Ryan Shawcross on Jonathan Williams, Penalty awarded.83:51
Yannick Bolasie takes a inswinging corner from the left by-line to the near post, clearance by Kenwyne Jones.83:08
Corner from the right by-line taken by Andre Moritz, clearance by Ryan Shawcross.81:34
Shot by Andre Moritz from deep inside the penalty area misses to the left of the goal. Yannick Bolasie takes the inswinging corner, clearance by Kenwyne Jones.80:07
Free kick awarded for a foul by Mile Jedinak on Kenwyne Jones. Free kick taken by Robert Huth.78:43 Substitution
Substitution Glenn Murray replaces Daniel Gabbidon.76:47
Shot by Matthew Etherington. Save made by Lewis Price.75:43
Andre Moritz restarts play with the free kick.75:43 Booking
Booking Geoff Cameron goes into the referee's book for unsporting behaviour.75:36
Free kick awarded for an unfair challenge on Yannick Bolasie by Geoff Cameron.75:06
Short corner worked by Cameron Jerome.73:00
Free kick taken by Thomas Sorensen.73:00 Booking
Booking Steven Nzonzi goes into the referee's book for dissent.72:41
Free kick awarded for an unfair challenge on Geoff Cameron by Aaron Wilbraham.71:28
Shot by Jermaine Easter from 12 yards. Save by Thomas Sorensen.70:46
Kenwyne Jones has a drilled shot. Save by Lewis Price.70:17
Yannick Bolasie challenges Steven Nzonzi unfairly and gives away a free kick. Dean Whitehead restarts play with the free kick.68:05
Assist on the goal came from Matthew Etherington.68:05 Goal scored
Goal! - Kenwyne Jones - Stoke 1 - 0 C Palace Kenwyne Jones scores a headed goal from inside the six-yard box. Stoke 1-0 Crystal Palace.67:23
Kenwyne Jones produces a curled shot from just outside the penalty area that bounces off the post.65:27
Cameron Jerome takes a shot from deep inside the box clearing the bar.64:25 Substitution
Substitution Hiram Boateng goes off and Andre Moritz comes on.64:25
Shot from long distance by Mile Jedinak goes wide of the left-hand upright.62:16 Substitution
Substitution Kenwyne Jones comes on in place of Peter Crouch.60:16
Corner taken left-footed by Matthew Parsons from the right by-line, Robert Huth manages to make a clearance.58:34
Free kick awarded for an unfair challenge on Jermaine Easter by Robert Huth. Mile Jedinak takes the direct free kick.56:37
Free kick awarded for an unfair challenge on Robert Huth by Yannick Bolasie. Direct free kick taken by Thomas Sorensen.54:25 Substitution
Substitution (Stoke) makes a substitution, with Cameron Jerome coming on for Michael Kightly.51:33
Unfair challenge on Peter Crouch by Mile Jedinak results in a free kick. Glenn Whelan fires a strike on goal direct from the free kick.49:14
Matthew Parsons decides to take a short corner.48:21
Damien Delaney produces a right-footed shot from just outside the area that goes harmlessly over the target.47:47
Corner from the left by-line taken by Jonathan Williams, save made by Thomas Sorensen.47:11
Shot from 20 yards by Dean Whitehead. Save by Lewis Price.45:28
Peter Crouch gives away a free kick for an unfair challenge on Yannick Bolasie. Damien Delaney takes the direct free kick.45:01
The second half kicks off.45:01 Substitution
Substitution Yannick Bolasie joins the action as a substitute, replacing Wilfried Zaha.45:00 +2:13 Half time
Half Time The half-time whistle blows.45:00 +0:05
Unfair challenge on Jonathan Williams by Robert Huth results in a free kick. Direct free kick taken by Matthew Parsons.44:38
Shot from 18 yards from Wilfried Zaha. Ryan Shawcross gets a block in.39:22
Inswinging corner taken by Matthew Etherington from the right by-line played to the near post.38:57
Michael Kightly takes a short corner.36:21 Substitution
Substitution Andy Wilkinson goes off and Glenn Whelan comes on.34:55
Inswinging corner taken from the right by-line by Matthew Parsons, Matthew Etherington manages to make a clearance.34:35 Penalty
Penalty taken by Jermaine Easter is saved by Thomas Sorensen. Stoke 0-0 Crystal Palace.33:29
Penalty awarded for an unfair challenge on Wilfried Zaha by Ryan Shawcross.31:33
Thomas Sorensen restarts play with the free kick.30:59 Booking
Booking Booking for Wilfried Zaha for unsporting behaviour.29:14
Unfair challenge on Mile Jedinak by Michael Kightly results in a free kick. Jonathan Williams takes the free kick.27:59
Free kick awarded for an unfair challenge on Peter Crouch by Wilfried Zaha. Thomas Sorensen takes the direct free kick.27:23
Wilfried Zaha delivers the ball, Michael Kightly makes a clearance. Short corner taken by Jonathan Williams from the left by-line.25:32
Corner taken right-footed by Jonathan Williams from the left by-line to the near post, Jonathan Walters makes a clearance.21:35
The referee blows for offside against Aaron Wilbraham. Robert Huth takes the free kick.19:15
The ball is swung over by Matthew Etherington.15:43
Inswinging corner taken right-footed by Michael Kightly from the left by-line to the near post, Peter Ramage manages to make a clearance. Short corner worked by Michael Kightly. Matthew Etherington produces a cross, Lewis Price makes a save. Corner taken by Michael Kightly, clearance made by Aaron Wilbraham.15:28
Dean Whitehead produces a drilled right-footed shot from 20 yards. Daniel Gabbidon gets a block in.13:41
Shot from just outside the box by Jonathan Walters misses to the right of the goal.8:04
Andy Wilkinson challenges Wilfried Zaha unfairly and gives away a free kick. Direct free kick taken by Lewis Price.6:21
Free kick awarded for an unfair challenge on Wilfried Zaha by Andy Wilkinson. Mile Jedinak takes the direct free kick.4:23
Header from deep inside the area by Aaron Wilbraham goes harmlessly over the crossbar.3:02
Inswinging corner taken right-footed by Michael Kightly from the left by-line to the near post.0:00
The ref blows the whistle to start the match.
Live data and text provided by our data suppliers