Under the caretaker stewardship of Kevin MacDonald, Villa, who sacked Bruce this week, took an early lead through Tammy Abraham. But goals from Shane Ferguson and Tom Elliott saw the home side fight back to earn their first win since August.
It could have been worse for the managerless visitors, with Millwall hitting the bar through Shaun Williams, but two goals were enough to condemn Villa to a third Championship defeat of the season.
It looked like Villa might end the dreadful run of form that has seen them win just one of their last 10 games when they took the lead with their very first opportunity in the seventh minute. After Jack Grealish had been fouled, Conor Hourihane flighted in a perfect free kick for Abraham to deftly volley home.
MacDonald’s side then began to dominate the game, with Grealish controlling the tempo and looking a cut above the other players on the pitch.
But they created few clear-cut chances, and Millwall gradually grew into the contest, with Jed Wallace forcing Orjan Nyland into a fine near-post save and Jake Cooper heading over the bar when well placed.
By the time the hosts equalised on 25 minutes it was fully deserved. The goal itself was simple, as Williams delivered a free-kick, Cooper won the header and the ball dropped to Ferguson, who rifled in his first goal of the season via a deflection.
All of a sudden Villa looked out of ideas and lacking confidence, and MIllwall took control. Williams’ thunderous shot from range was only just over the bar, while Elliott was wasteful when presented with a three on two for the hosts.
The striker more than atoned for his sloppy first half just three minutes after the break however, putting Neil Harris’s side ahead from close range. Villa only half-cleared a corner, leading to something of a goalmouth scramble when the ball was returned into the six-yard box, and when it dropped to Elliot he hammered home through Nyland’s legs.
Villa were briefly stung into action, James Bree heading Ahmed Elmohamady’s cross narrowly wide shortly before the hour mark, but they barely worked Ben Amos in the second half.
Millwall continued to have more, and better chances – most notably when Williams crashed a header off the underside of the bar only to see it bounce down and away from goal – and were good value for all three points.