Swansea made two changes to the side that beat Ipswich Town 4-1 at the Liberty on Monday.
Skipper Garry Monk was ruled out with a stomach bug and was replaced in the heart of the defence by Alan Tate
Darren Pratley came in to midfield for Stephen Dobbie who switched to the wing instead of Fabio Borini who was given another week to recover from an ankle injury picked up during his two-goal appearance in the first-half against the Tractor Boys.
Despite being already guaranteed a play-off spot, the Swans still had an outside chance of finishing second if they won their two remaining games and Cardiff City and Norwich lost both their final two games.
But to highlight the difficult task they faced this afternoon, Swansea hadn't won at Millwall in 81 years!
They faced a Millwall side still in with a shout of a play-off place under former Swans boss Kenny Jackett after a run of just one defeat in nine.
The Lions started the game in seventh place, just two points behind Nottingham Forest with two games to play.
Jackett welcomed back Welsh international striker Steve Morison from a three-match ban. He replaced young Josh McQuid, while Liam Trotter came in for Nadjim Abdou.
Swans: Dorus de Vries, Angel Rangel, Neil Taylor, Ashley Williams, Alan Tate
©, Leon Britton, Joe Allen, Darren Pratley, Nathan Dyer, Stephen Dobbie, Luke Moore. Subs: Yves Ma-Kalambay, Scott Sinclair, Albert Serran, Mark Gower, Craig Beattie, Fabio Borini, Andrea Orlandi.
Millwall: David Forde, Scott Barron, Paul Robinson (c), Darren Ward, Jack Smith, James Henry, Tamika Mkandawire, Liam Trotter, Andros Townsend, Steve Morison, John Marquis. Subs: Alan Dunne, Hamer Bouazza, Tony Craig, Steve Mildenhall, Nadjim Abdou, Josh McQuoid, Darren Purse.
Ref: M Oliver
There was a fantastic atmosphere at The Den as the game kicked off in the sunshine with the Swans looking to silence the vocal crowd early on, backed by the 1,000 travelling Jacks way up above Dorus de Vries' goal.
As expected, the home side made a bright start before the Swans got hold of the ball to take the sting out of the game and enjoy the best part of the opening 10 minutes.
Nathan Dyer weaved his way beyond three tackles on the right before finding Stephen Dobbie on the edge of the area. The Scot created space for himself, but his shot was blocked.
The first chance of the game didn't arrive until the 19th minute though when Dyer sprinted clear from the halfway line. He found Luke Moore in support on the edge of the area, but his shot flew well over the bar.
Dyer looked on fire again as neat approach play saw Angel Rangel play him in over the top. Dyer curled a shot bound for the far top corner, but David Forde got fingertips to his effort at the expense of a corner with 22 minutes gone.
Millwall's main threat came from the high ball into the box and Alan Tate
had to be brave to put his head in where it hurts to deny John Marquis, before Joe Allen fired a long-range effort wide at the other end.
Neil Taylor had to be strong moments later as he pulled off a goal-saving tackle in the 28th minute as Marquis prepared to pounce again.
Swansea were celebrating on the half-hour though as they took a deserved lead. Dobbie did well to rob Jack Smith in the middle of the park. And when his pass found Darren Pratley, the midfielder was in plenty of space to fire a superb 20-yard finish in off the post.
It was Pratley's 11th of the season - and all from midfield.
Millwall gave the Swans a scare in the 43rd minute when a deep corner fell to Tamika Mkandawire inside the area, but de Vries was well placed to make the save having punched Morison's initial header clear.
Swansea deserved to take their lead in at the break, however, after an outstanding display.
Half-time: Millwall 0 Swans 1
Millwall made a change at the start of the second-half as Hamer Bouazza came on for Marquis.
But it was Swansea who made the perfect start as they took a 2-0 lead within two minutes of the restart.
A long clearance from Rangel bounced on the edge of the area and when Smith's header fell to Stephen Dobbie after good pressure from Moore, Dobbie sneaked a fine finish in between two defenders and beyond a stunned Forde.
It was Dobbie's seventh of the season.
Millwall picked their heads up though and got the crowd going again in the 53rd minutes as James Henry blocked a clearance from Ashley Williams inside the area. As the ball dropped, de Vries did well to block Henry's follow up before Morison headed into the side-netting.
De Vries pulled off an even better save two minutes later as Mkandawire tried a fierce drive from 25 yards which the Dutch 'keeper did well to beat out as the home side stepped it up a gear.
With 57 minutes gone, Jackett made his second substitution with Josh McQuoid replacing Morison who had had no change from Williams or Tate all afternoon.
Swansea made their first change on the hour with the outstanding Dobbie replaced by top scorer Scott Sinclair.
The visitors looked to have taken the sting out of Millwall's challenge by the time Fabio Borini came on for Moore in the 67th minute as they started to dominate possession again, Pratley firing a long-range effort wide.
Sinclair fired into the side-netting as the Swans were coasting with 10 minutes remaining.
But just to make sure, the Swans boss introduced defender Albert Serran in the 83rd minute for the hard-working Leon Britton who had picked up a knock.
Jackett made his last throw of the dice as well with Jimmy Abdou replacing Mkandawire.
No sooner had Serran come on, he picked up the first yellow card of the game for a foul on Andros Townsend.
But by then, the Swans had the three points in the bag after a superb performance on the road.