Elliot Bennett could have snatched it at the death for the visitors but his shot hit the woodwork, while Sammy Ameobi somehow fired wide from close in in injury time for Cardiff.
The result leaves the Robins hovering over the Sky Bet Championship relegation zone, while the point puts Cardiff three points off the play-off places, but they will be left disappointed after spurning a host of chances.
The Bluebirds controlled possession in the opening quarter, but it was the side from across the the Severn Bridge who had the best opportunities to break the deadlock.
Home left-back Fabio was left exposed by wide midfielder Peter Whittingham which gave Bennett the freedom to flash menacing crosses across goal - but neither Aaron Wilbraham nor Luke Ayling could convert from close range.
And the Robins lost one of their aerial threats to a hamstring injury after 24 minutes.
Defender Nathan Baker was limping before he ignored a pass out from goalkeeper Frank Fielding and allowed Craig Noone a run and shot on goal which, luckily for Baker, was blocked. He was replaced by Joe Bryan.
Whittingham played a neat one-two with Lee Peltier to find a pocket of space behind the Bristol back-three and deliver a teasing cross to the back post.
Fielding made a mess of it and conceded a corner which was headed inches wide by Matt Connolly.
But it was Steve Cotterill's side who had the best chance to go in front just before half-time.
Jonathan Kodjia came out with the ball from defence after a wasted Cardiff chance and fed the lively Bennett before continuing his run.
He was found by an inch-perfect Bennett cross into the area but goalkeeper David Marshall reacted quickly to tip the ball over.
Joe Mason had two chances to give Cardiff the lead in as many minutes after the break as the hosts came out firing.
First he got his head to a looping Peltier cross but glanced wide, before Alex Revell found him with a low cross that he could only fire over the crossbar.
Kagisho Dikgacoi was the next to get his head to a Whittingham cross but his weak effort allowed Bristol City to break and resulted in Aron Gunnarson picking up a yellow card.
The Robins thought they had stolen the three points with 10 minutes remaining after Bryan stabbed a shot against a post and Kodjia poked the ball home, but the striker was offside.
There was still time for late drama when Marshall pushed Bryan's driven shot into the path of Bennett and he cracked the upright with a right-footed effort, while at the other end, Ameobi, who looked to be in an offside position, somehow missed from four yards.