Resurgent Hull City claimed their fourth straight victory as Ryan Longman's winner handed Millwall a first defeat in five matches.
The hosts went ahead after a lively start when Jacob Greaves whipped a cross towards the six-yard box where George Honeyman headed in on his 100th Tigers appearance.
The Lions were level on the stroke of half-time when Benik Afobe's through-ball sent Tom Bradshaw racing away to bend a shot around Hull goalkeeper Nathan Baxter.
Brighton loanee Longman then pounced to give Hull a sixth win of the season, following up after goalkeeper Bart Bialkowski parried a Josh Magennis shot.