Hull were forced to play the final 13 minutes with 10 men after substitute Jon Toral left the field injured just moments after coming on and they went down to nine in stoppage-time when Josh Magennis was shown a second yellow card.
Kamil Grosicki’s bizarre 40-yard free-kick earned Hull a valuable away point.
After Jed Wallace’s early spot-kick had put the home side in front, Grosicki’s floated effort caught everyone, including Millwall goalkeeper Bartosz Bialkowski, by surprise, nestling in the far corner when all expected a cross.
Both sides then missed chances to take all three points, most notably Kevin Stewart and Ryan Leonard failing to find the target from close range in the closing stages of each half.
The home side were handed the chance to take the lead inside 10 minutes, thanks to a defensive disaster from Hull centre-back Jordy De Wijs.
The Dutch defender allowed Matt Smith to get the wrong side of him, then bundled the Millwall frontman over inside the area.
Referee Oliver Langford eventually pointed to the spot and Wallace smashed his penalty into the middle of the net.
Tigers manager McCann said: “It’s a good point, coming to Millwall any stage of the season it’s always a good point. We felt we had a referee who got sucked into the occasion a little bit.
“I thought the penalty was harsh, but what I will say is I thought Jordy was on the wrong side. But if he’s going to give that one, he’s got to give Magennis’s at the other end, where he gets clipped. We hear there’s contact so if there’s contact, give the penalty. But it wasn’t to be.
“It wouldn’t surprise me if he Grosicki did go for goal because he scored one on Friday in training quite similar.
“I think we answered a lot of questions. We’ve been hit from pillar to post defensively in terms of the questions I’ve taken since I’ve been at the club.
“We showed what we’re all about, how dogged and defensive we can be. It’s a very tough place to come.”
Millwall: Bialkowski, Romeo, Pearce, Cooper, Murray Wallace (O’Brien 87), Jed Wallace, Leonard, Thompson, Mahoney (Ferguson 75), Smith, Bradshaw (Bodvarsson 68). Unused substitutes: Hutchinson, Williams, Steele, Molumby.
Hull City: Long, Pennington (Da Silva Lopes 17), Burke (Tafazolli 60), De Wijs, Lichaj, Bowen, Stewart, Irvine, Grosicki, Honeyman (Toral 74), Magennis. Unused substitutes: Eaves, Ingram, McKenzie, Bowler.
Referee: O Langford (W Midlands).