Byron Webster scored in the opening five minutes of the game whilst Shane Ferguson doubled Millwall’s lead just before half time.
Webster grabbed his second of the game early into the second half as Latics fell to defeat.
Manager John Sheridan made one change to the side which beat Crewe last weekend as Brian Wilson replaced George Edmundson.
Latics started poorly and fell behind on five minutes as Webster headed Millwall into the lead.
He met a Chris Taylor corner and nodded past Joel Coleman to give the home side a dream start.
Latics did respond well to going behind and looked the more likely side to getting the next goal.
Cameron Dummigan had his shot blocked whilst Jonathan Forte also saw a goal bound shot hit a Millwall defender and rebound out for a corner.
Steve Morison almost scored Millwall’s second on 19 minutes as he spotted Coleman off his line but his effort from 50 yards hit the top of the goal.
After Tareiq Holmes-Dennis received treatment for an injury, Millwall almost grabbed their second goal.
Joe Martin stepped up to a free kick 25 yards from goal but hit the top of the crossbar.
With the half drawing to a close, the home side grabbed their second goal of the game.
Steve Morison crossed into the centre, Aiden O’Brien flicked the ball goalwards but Ferguson was alone at the back post to stab home.
Latics started the second half brightly and Forte had two great chances to pull a goal back.
Firstly he met a Curtis Main header into the box but his shot from two yards was instinctively saved by goalkeeper Jordan Archer.
A minute later, Forte received the ball at the back post but he blasted over the crossbar this time.
Millwall grew into the half and almost grabbed a third on 50 minutes.
Full back Mahlon Romeo danced his way into the penalty box but Coleman stood up well to his strike and saved.
Two minutes later, however, Millwall did extend their lead further as central defender Webster grabbed his second of the game.
A free kick was nodded into the path of Webster at the back post and he made no mistake from six yards.
Latics continued to battle but were met by a resolute Millwall back line.
Taylor fired wide from 25 yards just after the hour mark, whilst at the other end, Forte headed over from inside the penalty area.
Sheridan made changes and brought on Carl Winchester, Mike Jones and Dominic Poleon and it would be the latter who should have pulled a goal back for Latics.
He was presented with an opportunity from three yards out but he blazed over the crossbar.
With time running out, Latics were struggling to create chances, whilst at the other end Aiden O’Brien’s shot was well held by Coleman.
Time did eventually run out on Latics and they fell to a defeat in their final away game of the season.
Millwall: Archer, Martin, Beevers, Webster, Ferguson (Onyedinma 67’), Taylor (Philpot 90’), Morison, O’Brien, Thompson, Abdou, Romeo.
Subs not used: Forde, Edwards, Craig, Upson, Twardek.
Oldham Athletic: Coleman, Dummigan, J.Wilson, Gerrard, B.Wilson, Croft (Jones 65’), Dieng (Winchester 54’), Kelly, Holmes-Dennis, Forte, Main (Poleon 65’).
Subs not used: Cornell, Brown, Mills, Cassidy.
Goals: Millwall (Webster 5’, 54’, Ferguson 40’) 3-0 Oldham Athletic