Cardiff had not gained or conceded a penalty all season, but Howard Webb put a stop to that, awarding one apiece on an afternoon that lifted the Welsh club above Fulham on goal difference but left them still precariously placed in the relegation places.

England's World Cup referee was centre stage, where he loves the limelight, disallowing what would have been a Cardiff winner as well as enabling first Stoke City's Marko Arnautovic and then Peter Whittingham to score from the spot.

Fulham's defeat at Tottenham Hotspur at lunchtime had given Ole Gunnar Solskjaer and his team pre-match encouragement, but it was widely accepted beforehand that they had to bank maximum points here if they were to pull off what they are billing locally as The Great Escape.

They came desperately close, Cala having what would have been the winner disallowed, but their last three fixtures do not augur well. They are away to Sunderland and Newcastle United before facing Chelsea at home on the last day of the season.

Be that as it may, Solskjaer said afterwards that he felt Cardiff had taken a small but significant step in the right direction. He believes that four more points will be sufficient to keep them up and said: "We are two points behind Norwich [who play at lunchtime on Sunday], so we need one more win than them and to stay ahead of Fulham and Sunderland."

After Cardiff's restorative win at Southampton last week, Stoke will not have needed spies to tell them they would be facing an unchanged team. Solskjaer sent out the same personnel in pursuit of back-to-back victories for the first time all season, but they would have lost without two outstanding late saves by David Marshall, from Peter Odemwingie and Oussama Assaidi. And in the last minute Jonathan Walters shivered the crossbar.

Stoke's fans enjoyed singing the name of Odemwingie, who has been a goalscoring success since joining from Cardiff in a swap for Kenwyne Jones. There was no danger of the home crowd responding in kind. Jones, with only one goal in nine appearances, is anything but a local hero.

Odemwingie would have scored in the 29th minute but for a horizontal save by Marshall, repelling a thumping drive, then just before half-time, the Nigerian "won" Stoke's penalty. Odemwingie was moving away from goal when Kim, inexplicably, stuck out a foot, inviting his erstwhile team-mate to fall over it. When he did so, Webb allowed Arnautovic to demonstrate his expertise from 12 yards.

Solskjaer said: "I feel it wasn't a penalty, but I accept that Howard had to make a decision there and then, without the advantage of replays. We felt hard done by and it galvanised everyone in the dressing room. You could see that in the way we came out for the second half, put them under pressure, got the goal, had the goal disallowed and got the crowd going. It was just what we wanted, but then they took over for the last 15 minutes."

Cardiff were unlucky to be behind at the interval. Jordon Mutch had a shot saved and Whittingham was tantalisingly close when his left-footed free-kick from 28 yards had Asmir Begovic plunging to his left to fist it away.

It was no more than the relegation scrappers deserved when Steven Nzonzi brought down Fraizer Campbell 10 yards out and Whittingham equalised with the consequent penalty. The force was with Cardiff now, and they thought they had the lead after 56 minutes when Steven Caulker's shot hit Begovic's right-hand post and Cala forced home the rebound, only to be flagged offside.

Solskjaer's team pressed with mounting desperation in search of another goal and all three points, but it was Stoke who put in the stronger finish and would have had the winner but for Marshall's keeping heroics.

Solskjaer said: "For the first 75 or 80 minutes I thought we deserved more than a draw. Towards the end you might say we didn't deserve anything, but we've got a top goalkeeper and he saved that one point for us.

"I've said before that we need a miracle, but that's not needed now. It's two very good performances in the next two games to give us a chance going into the last game, against Chelsea."