Cardiff City and Birmingham City both saw late-season winless runs continue as Will Vaulks' late penalty denied the Blues a rare away win.
Lee Bowyer's team were on course for just a fifth travelling triumph of the Championship season after Jeremie Bela's precise finish.
But Vaulks' spot-kick saw Cardiff end a four-game losing streak in their last home match of the campaign.
The hosts' fightback means Birmingham are also without a win in five matches.
Birmingham stay 20th in the table, with Steve Morison's Cardiff one place and three points better off going into the final weekend of what has proved an arduous campaign for both clubs.
But for the points deductions at Derby County and Reading, this would have been a hugely significant fixture in the Championship relegation scrap.
Birmingham would have started the day in the bottom three, with Cardiff just three points above them.
Instead there was little at stake in a contest between two clubs who will hope for much better next season.
There were chances at both ends in the first half, with Perry Ng forcing Neil Etheridge to shovel his long-range effort away before Cody Drameh's follow-up shot was beaten away by the ex-Cardiff goalkeeper.
At the other end, Dillon Phillips made fairly routine saves from Juninho Bacuna and Onel Hernandez before Birmingham scored on the counter.
The goal came from an attacking Tommy Doyle set-piece which was headed clear by Maxime Colin.
Bacuna threaded a perfect pass through a ragged Cardiff rearguard for Bela and the Frenchman finished in style, guiding his shot into the bottom corner.
Birmingham threatened to double their advantage early in the second period when Gary Gardner headed narrowly wide of the far post, before Jordan Hugill stroked home from close range only for an offside flag to stifle home celebrations.
Cardiff kept plugging away, with Mark Harris' penalty appeal ignored before Vaulks' crisp drive flew too close to Etheridge.
Jordan James wasted a chance to settle the contest as he shot narrowly wide from Hernandez's pull-back, and Birmingham were made to pay when Ng chipped a pass into the visitors' box and Etheridge raced off his line and collided with Max Watters.
There was no debate about the award of Cardiff's first penalty of the season - and there was no doubt about the finish, either, as Vaulks smashed high into the net from 12 yards.
Cardiff manager Steve Morison:
"They had one counter-attack in the first half and a moment after that, but we dominated from start to finish.
"We have just got to get better in the final third, you can see that - it's as clear as day. We haven't had a penalty all year. It was nice to get one and Will put it away.
"I am pleased that they stuck at it and gave it a right go. It's nice to not end with a loss in the last home game of the season.
"They had a couple of hairy moments in the second half where they could have scored, but we could have scored plenty as well."
Birmingham manager Lee Bowyer:
"We're disappointed not to win the game. I felt we were the better side for large periods. I didn't see them scoring from open play and I thought we handled them well.
"I thought we controlled the game. We should have taken more advantage in the first half and scored another goal. We had chances in the second half as well but we didn't score and at 1-0 you always leave yourself open for them to nick a draw and that's what they did.
"We didn't do too much wrong but it's another case of dropping two points.
"We didn't take our chances but I've said that too many times this season. We didn't lose, the players gave everything from start to finish but it wasn't a win."
Cardiff City: Phillips, Drameh, McGuinness, Nelson, Denham, Ng, Wintle (Vaulks 45’), King (Colwill 45’), Doyle (Watters 77’), Harris, Hugill.
Subs not used: Luthra, Flint, Semenyo, Collins.
Birmingham City: Etheridge, Colin, Roberts, Friend, Gordon, Bela (Graham 75’), Gardner, Bacuna (James 63’), Šunjić, Hernandez, Taylor.
Subs not used: Trueman, Woods, Jutkiewicz, Hogan, Deeney.