A second-string Liverpool side eased their way into the Carling Cup fourth round after a fiesty cup tie.
Salif Diao (l) scored his first goal of the season
Having survived an early bout of Millwall pressure, Liverpool took the lead through Salif Diao's stabbed shot.
Millwall had their chances, notably Neil Harris, while late on Darren Ward hit the bar with a flicked header.
But after Graham Stack spilled Milan Baros' pass to Darren Potter, the Czech forward pounced and late on he bagged a second with another drilled effort.
Millwall gave Liverpool some uncomfortable moments, troubling Rafael Benitez's side with some slick movement.
Adrian Serioux's long throws also caused Jerzy Dudek some difficulty.
At times the tie threatened to boil as Djimi Traore squared up to Marvin Elliott and Neil Mellor lashed out at Kevin Muscat after the Australian's late challenge on the Liverpool striker.
Benitez was also incensed by Alan Dunne's high tackle on Milan Baros, while on 79 minutes Muscat and Baros were yellow-carded after a brief confrontation.
Benitez had made 10 changes to the side that beat Charlton at the weekend, with only Traore remaining in from Saturday's team.
As the Liverpool side got to know one another Harris almost gave Millwall the lead as he ran clear.
Having timed his run to perfection, Harris' first touch was far from perfect allowing Dudek to rush out and smother the ball.
Serioux's ability to propel the ball a huge distance from one of his throw-ins also unsettled Dudek, who surrounded by a pack of players, struggled to punch clear.
Having survived those two scares, Liverpool began to exert pressure on Millwall's defence.
First Florent Sinama-Pongolle broke free, slipping a pass to Neil Mellor, whose shot was smothered by Kevin Muscat.
Igor Biscan also tried his luck with a shot and a header.
On 18 minutes the Millwall defence buckled, when from Potter's corner, Ward was unable to head the ball clear, allowing Diao to volley home with a precise finish.
Millwall redoubled their attacking efforts with Serioux's throws continuing to trouble the Liverpool defence, while Harris went close with a header after a corner.
But Liverpool were not content to sit back on their lead and Sinama-Pongolle's pace opened up the Millwall defence.
The young French striker laid the ball off to Mellor, who shot straight at Stack.
Immediately after the restart Sinama-Pongolle's pace allowed him to latch onto a Potter pass, though from a tight angle, the Frenchman hit the side-netting.
Sinama-Pongolle was injured in attempting his shot and soon after he was replaced by Baros.
On 52 minutes Harris spurned a third chance, as he shrugged off Zak Whitbread's challenge, only for Dudek to save with his legs.
Baros' goal on 70 minutes made the game safe for Liverpool.
The Czech striker's pass released Potter, who was beaten to the ball by Stack.
But the Millwall keeper was unable to gather the ball cleanly, allowing Stephen Warnock to find Baros, who swiftly shot low and hard into the corner.
In stoppage time Potter sent clear and Baros once more finished with aplomb.
Millwall: Stack, Muscat, Ward, Lawrence, Livermore, Dunne (Healy 79), Elliott, Morris, Serioux (McCammon 77), Tessem, Harris.
Subs Not Used: Marshall, Simpson, Cogan.
Booked: Serioux, Muscat.
Liverpool: Dudek, Josemi, Henchoz, Traore, Whitbread, Potter, Biscan, Diao, Warnock (Riise 81), Mellor (Finnan 65), Sinama Pongolle (Baros 52).
Subs Not Used: Kirkland, Carragher.
Booked: Diao, Mellor, Baros.
Goals: Diao 18, Baros 70, 90.
Ref: A Wiley (Staffordshire).