Lee Gregory cancelled out Junior Hoilett’s opener as Millwall and Cardiff played out a 1-1 draw on Friday night in the Sky Bet Championship.
Hoilett gave the Bluebirds the lead inside three minutes with a sweet strike but Gregory levelled it up just before the break.
Cardiff had thought they had found the winning goal in the closing stages when Sol Bamba acrobatically hooked the ball into the net but referee Keith Stroud had already controversially blown for a foul on Joe Bennett.
Tim Cahill made his second Millwall debut with two minutes left but he did not have the opportunity to create a fairy-tale moment on his homecoming.
Millwall: Archer (6), Meredith (6), Hutchinson (6), Gregory (7), Romeo (5), Wallace (6), Tunnicliffe (6), Morison (7), Saville (6), Cooper (6), Marshall (6)
Cardiff: Etheridge (7), Manga (6), Morrison (7) Bamba (7), Bennett (6), Paterson (7), Grujic (7), Ralls (7), Hoilett (7), Mendez-Laing (6), Madine (6)
Man of the match: Steve Morison
The game took just two minutes to spark into life when Mahlon Romeo hacked down Hoilett on the left wing and picked up a booking for his troubles.
He lived to regret that caution moments later as Hoilett robbed Romeo off possession before driving at the heart of the backline. The Millwall defender had an opportunity to haul him down but could not risk the possibility of a second booking and Hoilett let fly with a rasping drive that swerved into the bottom corner.
Millwall took 20 minutes to get into their stride but went close when Ben Marshall's cross was controlled by Steve Morison before he lashed an effort that came back off the crossbar.
Tim Cahill started on the bench for Millwall while Ben Marshall was handed a league debut in one of eight changes made by Neil Harris from their 1-0 defeat to Rochdale. Meanwhile, Neil Warnock made just two changes from the victory at Leeds with Joe Bennett and Nathaniel Mendez-Laing returning to the starting line-up.
They did get the leveller their play deserved just before the break. Morison opened up space for Jed Wallace to cross from the right which was seized upon by Gregory, who fired home in dominant fashion.
The game settled down after the break but burst into life again when Bamba skilfully fired into the net but the celebrations were cut short as referee Stroud had already blown for a foul on Cardiff defender Bennett.
VOTE: EFL Goals of the Month
WATCH & VOTE for your EFL Goals of the Month for January in the Championship, League One and League Two here...
Neil Harris: "With the split decision, has he got it right? Has he got it wrong? That might be one that has gone in our favour. We'll certainly take it if it has because we've had so many go against us this year so I can understand Neil's frustration to a certain level.
"I thought it was a great game of football, a real great advert for the Championship, English football. Blood, thunder, set-plays, efforts on goal, a huge amount of effort in the game. For 25 minutes in the first half leading up to half-time, we showed our real quality as a football club. I thought we fully deserved to be back on terms following the disappointing start."
Neil Warnock: "I just think it is appalling at this level. He's [Keith Stroud] looking at the ball when Sol scores and when Bennett goes down he's looking. He doesn't look at Bennett, he looks at the ball. It goes through, he's going to shoot and then he blows - I don't accept that.
"He's an experienced referee and I feel really let down tonight. I think the official has cost us the game tonight - it's an absolute disgrace. We're fighting to get into the Premier League - two major decisions and he's got them both wrong."
Harris' men travel to St Andrew's next Saturday as they face Birmingham, while Cardiff are quickly back in action on Tuesday evening when they welcome Bolton to south Wales.