City's inability to beat one of the poorest teams seen at Ninian Park this season could mean they ultimately fail to avoid relegation.
They went in to the interval ahead thanks to a Danny Gabbidon free-kick in the 21st minute, but missed a host of chances to put Dario Gradi's side out of sight.
In the second half, Crewe came more into the game and David Vaughan equalised in the 57th minute.
Both goals had lucky escapes in the closing stages, but the Bluebirds will surely now pay the ultimate penalty for all those missed opportunities.
Alan Lee started up front after completing his suspension, while it was a final game in a Cardiff shirt for Japanese international Junichi Inamoto.
Lennie Lawrence demanded a high tempo, and he was certainly given it as City attacked throughout the opening period.
Jobi McAnuff and Cameron Jerome all missed gilt-edged chances before a set-play saw them take the lead they deserved.
Rhys Weston was brought down by Anthony Tonkin some 25 yards out, and skipper Gabbidon curved the free-kick around the wall and in at the near post.
More chances fell to the Bluebirds, and Lee could have doubled the score but his downward header from a Joe Ledley cross was cleared off the line by Kenny Lunt.
Gradi brought Steve Jones on up front at the start of the second half, and it was his pace and movement that started to cause cracks in the home defence.
Just before the hour, he collected the ball and ran across the City defensive live, before slipping a neat pass through to Vaughan, and the Wales international showed City how to finish by beating Neil Alexander from close range.
Even though City were now desperate for a goal, Lawrence took off Lee and Inamoto for Lee Bullock and Toni Koskela, but although they threatened the Crewe goal on occasions, the damage was done, and now for the first time, relegation looks a distinct probability.