Guly Do Prado's first-half strike sent The Lions spinning to their first Championship defeat of the season at table-topping Southampton.
Do Prado bagged the only goal of a disappointing game midway through the opening half, capitalising on some hesitency in the visiting defence and steering the ball beyond the reach of debutant goalkeeper Steve Mildenhall.
The inclusion of Mildenhall at the expense of David Forde was one of two changes made by Lions boss Kenny Jackett, who recalled striker John Marquis in place of Jimmy Abdou as The Lions reverted back to a 4-4-2 formation.
Former Southend man Mildenhall may have waited over 14 months for his first Championship start, but it was only two minutes before he was called into action as Saints forced a couple of corners in the opening four minutes.
The first, delivered by Adam Lallana on the left, picked out the unmarked Dean Hammond on the edge of the area and his shot was deflected into the path of David Connolly barely four yards from goal. Thankfully the striker knew little about it, and the ball cannoned off him into the side netting.
Saints second corner whipped in by Do Prado on the right was punched clear by Mildenhall, who then saw an eight-man defensive wall do their job and clear Rickie Lambert's piledriver of a free-kick two minutes later minutes.
Nigel Adkins' men certainly enjoyed the majority of possession as The Lions struggled to get into any real rhythm and it was little surprise when Do Prado tucked home the opening goal on 18 minutes.
Millwall looked surprisingly lacklustre and breathed a collective sigh of relief when Lambert's audacious lob dropped onto the roof of the net and then a crisp strike by Connolly was blocked for another corner as Saints pressed for a second goal.
On the rare occasions the visitors did threaten, the final delivery into the danger zone was often below par, with Darius Henderson and Marquis not given the type of service they thrive on.
There was one clear shout for a penalty, however, just before the break when Hamer Bouazza curled over an inviting cross, Henderson was held to the spot by the grip of Jose Fonte, and referee Andy D'Urso waved play on as he had done minutes earlier when Liam Trotter was held back trying to connect with the ball too.
Trotter left the field after 37 minutes to be replaced by Abdou, and there is no doubt that The Lions did miss his thrusting presence in midfield thereafter.
How fitting that the first song played over the PA at half-time was 'Get into the groove' by Madonna as The Lions had been anything but in their normal attacking groove for long spells of a poor first half.
Thankfully the break gave boss Jackett an opportunity to galvanise his troops and Millwall certainly upped the tempo during the second period.
It took less than 60 seconds for The Lions to create an opening when Josh McQuoid, on for Marquis, lashed the ball narrowly over the bar from 25 yards.
Bouazza then dragged an effort wide of the post following a positive break, opting to shoot rather than pass to James Henry, who was lurking with intent unmarked on the right of the 18-yard box.
The hard-working Abdou nearly bundled the ball over the line, only to be denied by Saints stopper Kelvin Davis as Jackett's men enjoyed their best spell of the game.
And it was Davis who came to the rescue with a magnificent double save after Paul Robinson's header from a Bouazza corner was cleared into the path of Tam Mkandawire. The latter's goal-bound shot was cleared by Davis who then flung himself across goal to divert McQuoid's follow-up to safety.
Davis did well to gather Henry's high, hanging cross under pressure from Abdou as The Lions tried to push on and grab an equlaiser.
But unfortunately Jackett's side just seemed to run out of steam in the sweltering sunshine at St Marys as Southampton held on, ultimately, quite comfortably, to their one goal lead and three precious points.
Southampton: Davis, Richardson, Fonte, Seaborne, Harding, Do Prado, Hammond (Schneiderlin, 46mins), Cork, Lallana (Fox, 62mins), Connolly (De Ridder, 69mins), Lambert. Subs not used: Bialkowski, Martin.
Scorer: Do Prado (18mins)
Millwall: Mildenhall, Dunne, Craig, Mkandawire, Robinson, Ward, Bouazza (Hackett, 78mins), Trotter (Abdou, 37mins), Henderson, Marquis (McQuoid, 46mins), Henry. Subs not used: Forde, Stewart.
Bookings: Henderson (57mins), Henry (65mins), Robinson (76minms)
Ref: A D'urso
Att: 23,333 (away 1,616)