Stoke came close to finding an opener against the run of play before half time, as Mame Biram Diouf found Jonathan Walters in the Chelsea area, only for former Stoke keeper Asmir Begovic to deny the Ireland international with a reaction save.
The Potters took the lead on 51 minutes, as Glenn Whelan found Walters on the edge of the Chelsea penalty area, before the striker struck a powerful effort beyond Begovic.
Walters came close to doubling his goal tally soon after, as the Irishman cut inside from the left before firing a right-footed shot narrowly over the bar.
Stoke could have killed the game off on 81 minutes, as Walters curled an effort over the bar following a swift counter-attack, before Chelsea substitute Bertrand Traore struck a dipping effort just over the bar.
The visitors found a goal in the 91st minute, as Zouma flicked a Willian corner towards Loic Remy, who fired a shot into the roof of the Stoke net from six yards.
The Potters were reduced to 10 men before the final whistle, as full-back Phil Bardsley picked up a second yellow card for a heavy challenge on Chelsea youngster Kenedy.
Chelsea dominated the first period of extra time, as Oscar fired narrowly wide of the far post, before Traore missed the target with a header from eight yards out.
After the break, Willian hit the side-netting with an effort from distance, before Eden Hazard blazed a left-footed shot over the bar.
The visitors almost claimed a last-minute victory as Butland kept out a Kenedy effort, before Oscar found Traore after a good move from the Brazilian, only for the winger to fire over the bar.
In the penalty shootout, Stoke City scored five perfect penalties to mount the pressure on Chelsea, before Jose Mourinho's side were knocked out as Butland saved Hazard's effort.