Leicester's hopes of making the Championship play-offs suffered a major setback after goals by Harry Kane and Andy Keogh earned Millwall victory.
Kane, on loan from Tottenham, opened the scoring following a free-kick by James Henry.
Keogh's penalty made it 2-0 after teenager Kane was upended by Paul Konchesky before Danny Drinkwater scored a late consolation.
Millwall's third straight win secured their survival in the Championship.
It has been a long season of struggle for Millwall but they are finishing the campaign strongly, much to manager Kenny Jackett's relief.
They are unbeaten in four and have won four of their last six matches.
In contrast, Leicester's season looks set to end in disappointment after falling six points adrift of a play-off spot with only three games left.
They went behind in the 23rd minute when 18-year-old Kane scored for the third straight game after City's defence failed to clear Henry's free-kick.
Kane played a key role in his side's second goal.
The youngster was hauled down by former Liverpool defender Konchesky and Keogh made no mistake from the spot.
Leicester went close through David Nugent while Jermaine Beckford was guilty of spurning a fine chance before Drinkwater fired home from 20 yards in the 82nd minute - but it was too little too late for the visitors.