Kamil Grosicki's bizarre 40-yard free-kick earned Hull a valuable away point as Grant McCann's side secured a 1-1 draw despite finishing the match with nine players on the pitch.
After Jed Wallace's early spot-kick had put the home side in front, Grosicki's floated effort caught everyone, including Millwall keeper 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.
And Hull were reduced to nine men as first injury forced substitute Jon Toral off, and then Josh Magennis was dismissed late on.
The home side had started the brighter and 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 first allowed Matt Smith to get the wrong side of him, then bundled the Millwall frontman over inside the box.
Referee Oliver Langford took his time but eventually pointed to the spot and Wallace smashed his penalty into the middle of the net.
Millwall looked in complete control until Hull equalised out of the blue in the 18th minute, through Grosicki's unexpected effort.
To call it the visitor's first shot of the game would be to attribute the Polish winger too much intent – he was attempting to deliver the touchline free-kick into the box, only to over-hit it and see it drift over Bialkowski and into the far corner.
The equaliser knocked the stuffing out of Millwall, who barely managed an attack in the rest of the half, while Hull improved drastically.
Twice before the break the visitors could have gone ahead. First Josh Magennis, making his first league start for the club, headed at Bialkowski when well-placed, and then Stewart somehow poked the ball wide after the Millwall keeper had parried Jarrod Bowen's shot.
The home side came out strongly at the start of the second half. Jed Wallace forced George Long into a good save after some fancy footwork along the by-line, while substitute Jon Dadi Bodvarsson also brought the Hull keeper into action.
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 went down to nine in stoppage time when Magennis was shown a second yellow card.
But despite late pressure Millwall could not find a way through – when they did create a clear opening, Leonard headed Bodvarsson's knock-down just wide of the far post.