Burnley 1-3 Millwall
Josh Wright's long-range volley helped Millwall secure their first win in six league games to move the Lions seven points clear of the relegation zone.
Andy Keogh capitalised on David Edgar's error to open the scoring before Wright hit an unstoppable 30-yard volley.
On 70 minutes James Henry found Harry Kane, who fired past the advancing Burnley goalkeeper Lee Grant.
Jay Rodriguez pulled a goal back with an injury-time penalty after Shane Lowry fouled Marvin Bartley.
Millwall's ambitious approach was signalled early on when Hamer Bouazza's effort cannoned against the underside of the bar, while Kane was denied by a last-ditch interception from Bartley, who then cleared Paul Robinson's header off the goal-line.
Edgar proved less diligent in defence and when he botched a routine clearance and Keogh was on hand to provide a left-footed finish.
Millwall went 2-0 up when Henry's left-wing free-kick was headed clear by Ben Mee and the ball looped up for Wright to thrash home.
Burnley captain Chris McCann then hobbled out of the action to be replaced by Martin Paterson, with Burnley boss Eddie Howe also introducing two more substitutes - striker Danny Ings and defender Brian Easton - at the interval in a bold attempt to get back into the game.
If those substitutes produced a more significant Burnley threat, the game slipped further out of their grasp when Henry set up Kane for the third goal.
Burnley's goal came in stoppage when Rodriguez's penalty gave him his 19th goal of the season, with the defeat leaving Howe's side six points shy of the play-off places.