Millwall stretched Brentford's winless run to 22 games as they comfortably won the battle of League One's bottom two.
A defensive mix-up between Adam Griffiths and Clark Masters handed Poul Hubertz the opener after 27 seconds.
Simon Cox and Kevin O'Connor missed good chances to equalise before Hubertz headed in Danny Senda's cross for 2-0 and set up Paul Robinson for the third.
O'Connor pulled one back with a penalty but Charlie Ide was sent off for a foul and Darren Byfield scored the penalty.
Brentford: Masters, Heywood, Griffiths, Frampton, Osborne, Cox (Moore 63), O'Connor, Kuffour, Mousinho, Ide, Willock.
Subs Not Used: Brown, Pinault, Peters, Charles.
Sent Off: Ide (83).
Booked: Cox, Osborne, Griffiths.
Goals: O'Connor 78 pen.
Millwall: Pidgeley, Robinson, Shaw, Senda, Dunne, Hackett,
Ardley (Fuseini 56), Zebroski (Williams 46), Elliott (Lee 88),
Hubertz, Byfield.
Subs Not Used: Day, Morais.
Booked: Dunne.
Goals: Hubertz 1, 57, Robinson 62, Byfield 83 pen.
Att: 6,925.
Ref: P Taylor (Hertfordshire).