
Bristol City have won just four times since beating Manchester United in December
Millwall's terrific form continued with a home win that saw them leapfrog play-off rivals Bristol City in the table.
Jed Wallace cut inside from the left and bent in a fine opening goal for the hosts from a tight angle.
Steve Morison doubled their lead with a curling finish after a neat one-two with strike partner Lee Gregory.
The deserved win extended the Lions' unbeaten run to 15 matches, while City have won just two of their past 12 league games, slipping to eighth place.
Neil Harris' side, who have not lost at home since November, remain one point below the top six after eight wins in their past 10 outings.
For the second consecutive fixture, Lee Johnson's out-of-sorts Bristol City failed to manage a single attempt on target, having similarly failed to test the keeper in Monday's home loss to Brentford.
Striker Milan Djuric dragged wide in the second half with arguably the Robins' best moment, while at the other end, keeper Frank Fielding's save from George Saville prevented Millwall winning by a greater margin.
Morison also had an effort cleared off the line, as the hosts matched their longest second-tier unbeaten run of 15 games, set in 1971.
Millwall boss Neil Harris told BBC Radio London:
"Bristol City set up to have the ball and to keep the ball. They wanted to get the ball, get between the lines and test our shape, and I thought the shape for 90 minutes was outstanding.
"We're used to not having the ball and having to rely on our shape, but the organisation, the game-management, the communication and the desire in tackling - I'm really proud of my players today.
"I thought the two goals were outstanding. It was a Millwall occasion that befitted Ray Wilkins, because the minute's applause and the noise the crowd made - he would have loved it. This was a football day and this was a Millwall day, and Ray was a huge part of this club."
Bristol City boss Lee Johnson told BBC Radio Bristol:
"I don't think it's that [a lack of heart] because I see them every day. I just think they're shot to bits and need to step out of it.
"The build-up in the week is good, the lads are buzzing, team spirit is perfect - and we go onto the pitch, and if something doesn't go right, we fizzle out. It's up to the individuals out there to get the best game out.
"I'm just upset that the staff are doing everything - the staff are still scrapping. The players are, but it's all good and well saying it. Of course, as you cross that white line, it's that action of delivering a cross. We had three or four set pieces in the first 15 minutes and didn't get any of them above the knee."