Paul Cook's men had been in danger of facing the drop until as recently as Easter but an impressive end to the season saw them finish a dozen places above the relegation zone.
With neither time having anything, only pride, to play for, there was predictably a flat atmosphere inside the DW Stadium in the early stages.
At the other end, Garner's shot from 25 yards was parried out by David Martin, but Wigan could not capitalise.
Antonee Robinson then made headway down the left, and his cross was only just in front of Anthony Pilkington, who would have had a tap-in.
But Wigan were not to be denied and, after Nick Powell's shot was parried out by Martin, Garner smashed home with his left foot for what proved to be the only goal of the game.
Garner and Powell were dovetailing nicely in attack, and the former was claiming a penalty after seeing another goalbound shot seemingly blocked by a hand, but the official waved play on.
The visitors came closer still when Jake Cooper stabbed the ball goalwards, only for Powell to hack the ball away off the Wigan line.
Millwall started the second period in similarly bright fashion, with Christian Walton having to make a magnificent save to deny Gregory, with Tunnicliffe firing the rebound well wide.
It was not Gregory's day, with the striker somehow managing to fail to convert what looked to be a perfect cross from Tunnicliffe.
Wigan also remained a threat, and a sliced volley from Lee Evans turned out to be a fabulous assist for Pilkington, who slotted home – but the flag was up for offside.
The home side sent on 17-year-old Charlie Jolley for his debut, and the youngster immediately tried his luck with a couple of long-range shots.
Wigan also sent on Callum McManaman – out of contract this summer – for the last 15 minutes.
And there were even more emotional scenes with a couple of minutes left as on-loan Chelsea star Reece James – who was made captain for the day – was substituted to a standing ovation.