Claus Jorgensen came off the bench to hand Coventry a precious point after Jody Morris looked to have sealed Millwall's first win of the year.
Jorgensen struck with five minutes on the clock only to have the linesman raise his flag for offside. But referee Clive Penton over-ruled his assistant and allowed the goal to stand, giving Coventry a survival boost.
Morris converted the Lions' penalty, awarded in the 69th minute, after Trevor Benjamin handled in the box seconds after coming off the bench.
Morris stepped up to blast the ball high in the top corner, leaving City keeper Ian Bennett no chance.
While the decision from referee Penton was spot on, the result would have been harsh on battling Coventry who looked more up for the fight than Millwall.
The home side, who a year ago were celebrating a place in the FA Cup semi-final, played like a team whose season is drifting away.
Just 8,835 hardy souls turned up to watch the Lions spend extended periods lumping long balls up to teenager Mark Quigley.
Struggling Coventry could have snatched the lead after just 25 seconds when Gary McSheffrey fired over a cross for Dele Adebola but the striker just failed to reach it.
Adebola and strike partner Stern John enjoyed the best of the first-half chances and John was denied by Darren Ward's outstretched leg in the 16th minute.
Millwall's best attack came three minutes into the game, when Quigley's header flew just wide after Peter Sweeney had fed him from the left.
Barry Hayles was next to go close for the Lions, but his 26th-minute header flew wide of the far post.
Coventry immediately broke and Andy Marshall was forced into a fingertip save from Stephen Hughes' 20-yard rocket.
John was the next to test Millwall's goal in the 34th minute when he beat Matt Lawrence to fire just high of the crossbar.
Robbie Page's debut for the Sky Blues almost turned into a nightmare just after the break when he guided Peter Sweeney's cross inches wide of his own goalmouth.