Kenny Jackett’s side were agonisingly pipped to a top-six finish on goal difference after finishing level on points with Ipswich and Brentford.
Nouha Dicko had put them in control after 20 minutes and then struck again 11 minutes into the second period to take his goal tally for the season to 15.
Millwall had to soak up a lot of pressure in the first half, but they were a different proposition after a half-time pep talk from manager Neil Harris and gained a foothold in the game through Aiden O’Brien in the 58th minute.
But their hopes of taking something on their departure from the Championship were ultimately dashed when Ethan Ebanks-Landell pounced 20 minutes from time.
Millwall reduced the arrears again in the 82nd minute through teenage substitute Jamie Philpot, who scored with his first touch on his debut before Bakary Sako notched in the final minute to ensure that Jackett marked his 100th game in charge with a win – albeit a frustrating one.
Wolves had started the game positively and Benik Afobe should have given the lead when he was released in the opening minute by Sako.
Afobe only had goalkeeper David Forde to beat but he shot weakly at the Republic of Ireland international.
Millwall did threaten briefly when Lee Gregory headed a cross from Sid Nelson over the bar, but it was Wolves – and Afobe in particular – who dominated the opening exchanges.
Afobe looked certain to score from six yards in the eighth minute only to be denied by a perfectly timed last-ditch challenge from Mark Beevers.
Forde then blocked Afobe on the edge of the area before the long-serving goalkeeper produced an excellent save to deny Rajiv van La Parra.
Wolves’ pressure was constant and it seemed only a matter of time before it brought its reward, and Dicko finally made it pay.
His goal owed everything to a surging run into the area by Sako, who then fed the ball into the path of Dicko to roll home his shot from eight yards.
Having dominated affairs before the goal, Dicko’s strike looked certain to open the floodgates.
But Wolves went strangely off the boil despite still controlling the game for long spells and were almost caught out at the start of the second half when O’Brien saw his header cleared off the line by Dave Edwards.
That lucky escape sparked Wolves back into life and Dicko doubled their advantage with a superb piece of finishing, holding off the challenge of Nelson and firing a rising drive past Forde.
It would have been easy for Harris’ side to wilt after that second setback, but they were back on level terms just two minutes later.
Wolves goalkeeper Tomasz Kuszczak could only parry a long-range free-kick from Jack Powell and the ball fell kindly to Gregory, whose centre was stabbed from home from close range by O’Brien.
The hosts knew that to have any chance of making the top six they needed more goals, and they proceeded to lay siege to the Millwall goal with Sako being denied by Forde and Afobe seeing his shot deflected for a corner off Nelson.
It was centre-half Ebanks-Landell who showed them the way to goal when he pounced after Sako’s free-kick was deflected into his path.
Wolves were then caught napping from their own corner and Millwall surged clear through Ed Upson, whose left-wing cross was steered past Kuszczak by Philpot.
In a pulsating second half, Sako had the final word when his powerful low drive flashed through a crowded goalmouth and past Forde.