Full-time from The Den
Morison's strike - a sublime 52nd-minute lob - was just rewards for a Lions side who showed great resilience to withstand a late onslaught from Steven Pressley's Cod Army and move up to fourth in the table.
A change at the break saw Gregory replaced by youngster Jamie Philpot, and the sub's impact was immediate. Within seven minutes of the restart Philpot's neat flick picked out Morison in the 18-yard box and the skipper's finish was as cool as you like, nonchalantly lobbing Chris Maxwell in the Fleetwood goal.
Chris Taylor was inches away from doubling Millwall's tally six minutes later, heading narrowly wide from Morison's deep cross whilst at the other end a rasping, rising drive from Stefan Scougall flashed narrowly over the bar.
At this stage of the season it's about grinding out the results, and Harris' men did just that because for long spells after getting their noses in front, they were forced to repel wave after wave of attacks.
It was scrappy, there were plenty of desperate defensive clearances and nervy goalmouth scrambles that with every bobble of the ball had the home fans biting deeper into the quick of their finger nails.
But with goalkeeper Jordan Archer an unbeatable last line of defence - his double injury-time save to deny Wes Burns testament to that - this was all about getting those three points and Millwall did just that, edging ever closer to securing a top six finish with just three games left.
Millwall: Archer, Romeo, Martin, Beevers, Webster, Abdou, Thompson, O'Brien (Upson, 88mins), Morison (Onyedinma, 70mins), Gregory (Philpot, 46mins), Taylor. Subs not used: Forde, Edwards, Craig, Twardek.
Bookings: Romeo (30mins), Philpot (58mins)
Scorer: Morison (52mins)
Fleetwood Town: Maxwell, McLaughlin, Jordan, Jonsson (Hunter, 80mins), Pond, Bell, Ryan, Burns, Grant (Cole, 72mins), Sarcevic, Scougall (Ball, 80mins). Subs not used: Gogic, Forbes, Nilsson, Grant.
Bookings: Jordan (58mins), Pond (60mins)
Ref: R. Joyce
Att: 7,865 (away 83)
Tweets by @MillwallFC