Peter Whittingham's second-half penalty gave Cardiff a precious point in their scrap for Barclays Premier League survival - but the Welsh club still have it all to do.
Whittingham's 50th-minute goal cancelled out a Marko Arnautovic penalty - the first spot-kick Cardiff have conceded this season - that was converted during the dying seconds of an otherwise forgettable first period.
It appeared to be a harsh decision by referee Howard Webb, who punished Kim Bo-Kyung for his challenge on former Cardiff player Peter Odemwingie, while Cardiff also saw a later Juan Cala effort ruled out for offside.
While Stoke can reflect on just one defeat in their last eight league games, Cardiff remain stuck in the relegation zone, currently two points adrift of possible safety with only three games left.
Cardiff head to fellow relegation candidates Sunderland next weekend, before visiting Newcastle and then ending their season at home against title-chasing Chelsea.
Manager Ole Gunnar Solskjaer could not have asked for more from his players in terms of effort, but the final pass let them down too often and they are left still facing a Herculean task to avoid making a quickfire Championship return.
Solskjaer included Icelandic international Aron Gunnarsson among his substitutes.
Gunnarsson has been linked to an alleged leak of team information to rivals Crystal Palace before a league game between the clubs earlier this month. He has strenuously denied any wrongdoing in the matter.
Cardiff were unchanged from the team that won 1-0 at Southampton last Saturday, while Stoke boss Hughes stuck with the side that accounted for Newcastle by an identical scoreline seven days ago.
Cardiff started brightly in the sunshine as Mats Daehli saw a shot deflected wide, then Jordon Mutch forced Asmir Begovic to save low down as the home side probed for an opening.
Daehli continued to be at the hub of Cardiff's most creative moments, with Mutch not far behind him. Stoke, in contrast, were content to play a patient passing game from the back, but home goalkeeper David Marshall remained untroubled.
Fraizer Campbell saw a shot deflected over the Stoke bar, but then Cardiff were forced to back-pedal as Stephen Ireland's pass was hit first time by Odemwingie and Marshall saved well.
Peter Crouch provided a predictable aerial threat to Cardiff's defence, yet the home side had more trouble keeping possession in their own half as Stoke began to pose serious threats through Ireland and Arnautovic.
There was an inevitable nervousness about Cardiff when they approached the final third, yet diminutive Daehli continued to tease Stoke defenders with his clever ball control and distribution.
Cardiff then gained a free-kick just outside the Stoke box when Marc Wilson committed a foul, and Whittingham forced Begovic into a superb save as he palmed the ball wide.
It was Cardiff's best moment of the game, but they were stung in added time as Webb ruled that Kim had fouled Odemwingie, and Arnautovic effortlessly struck the penalty past Marshall.
Odemwingie began the second period by collecting a yellow card following a reckless lunge at Cala from behind as Cardiff searched for greater urgency, and matters quickly deteriorated for Stoke.
Webb pointed to the spot again just five minutes after the restart, this time for an N'Zonzi foul on Campbell, and Whittingham drew Cardiff level to set up an incessant spell of pressure.
And it almost brought its reward as Cardiff captain Steve Caulker forced Begovic into a save low down, before the ball rebounded off the post and Cala headed in from an offside position.
It was comfortably Cardiff's best period of the game, but Stoke successfully manned the barricades before finally breaking out of their own half as they looked to subdue a vociferous home crowd.
Solskjaer then sent on ex-Stoke striker Kenwyne Jones 10 minutes from time - he moved to Cardiff in a swap deal with Odemwingie earlier this season - in the quest for a final push.
Stoke, it seemed, were content to play out the draw, although Odemwingie tested Marshall with a shot from outside the penalty area and the home goalkeeper also thwarted Stoke substitute Oussama Assaidi before Webb called time on the contest.