Cardiff missed the chance to move level with second-placed Derby as Millwall battled to a point on the night veteran Tim Cahill made his second Lions debut.
Junior Hoilett drilled in the opener after Mahlon Romeo was caught in possession, as Millwall began sloppily.
But the hosts fought back in the first half and were rewarded when Lee Gregory turned in Jed Wallace’s cross. Morison had already rattled the bar for Millwall.
The Londoners edged a scrappy second half but were kept out by keeper Neil Etheridge, as Cardiff stayed fourth.
However, Bluebirds boss Neil Warnock criticised referee Keith Stroud for denying the visitors victory by ruling out a strike by Sol Bamba on 83 minutes.
The centre-back acrobatically smashed home the ball from close range, but Stroud had blown his whistle moments before to give Cardiff a free-kick for a robust challenge by Steve Morison on Joe Bennett on the edge of the area.
Earlier Etheridge had made two smart saves, palming a shot from Ben Marshall behind and scrambling down to his left to stop a deflected effort from Wallace.
Australia international Cahill came off the bench in second-half stoppage time, but the veteran forward was unable to make an impact in his first appearance for Millwall since the 2004 FA Cup final.
The Bluebirds were denied a penalty for what appeared to be a handball with the last play of the game.
Millwall manager Neil Harris told BBC Radio London:
“We probably got away with one with the goal that was disallowed. I feel for Cardiff in some sense because they are probably on the wrong end of a decision.
“We had a very similar one at Brentford where we scored a good goal and it was pulled back, so that probably evens that one up for the season.
“I’m really pleased with a point as it was a poor opening 20 minutes by us and a poor 15 minutes to finish.
“We showed real quality up to half-time but didn’t build on that momentum in the second half, and that is credit to Cardiff.”
Cardiff City boss Neil Warnock told Sky Sports:
“I think it is appalling at this level. Sol is going to shoot and then he blows.
“I don’t accept that. He is a really experienced referee and I feel let down. He cost us the game.
“We are fighting to get in the Premier League. But for the referee it would have been three points.”
Halford 6 (77 mins for Grujic)
Damour 6.5 (78 mins Mendez-Laing)
Zohore 6 (82 mins Madine)