Midfielder Dave Syers struck a hat-trick while Sam Winnall and Paddy Madden were also on the score sheet for Scunthorpe, with Portsmouth's lone reply coming through Michael Drennan four minutes from the end.
It was Scunthorpe's biggest win of the season and stretched their unbeaten run to 16 games.
It also saw them climb up alongside Chesterfield after the Spireites were beaten 1-0 at third-bottom Wycombe, for whom Max Kretzschmar's first-half penalty gave the Chairboys their first victory at Adams Park since mid-October.
Aside from Scunthorpe there was only one other side in the top 13 to pick up a victory this weekend - and that team was Rochdale.
They moved up to third spot with a 1-0 triumph at Exeter, Jamie Allen netting the clincher on the stroke of half-time to help his side leapfrog above Oxford, who were held 1-1 at Morecambe..
Oxford looked on course for the win thanks to veteran striker David Connolly's 13th-minute goal but they were denied at the death by a stoppage-time equaliser from Morecambe defender Robbie Threlfall.
The other three teams in the play-off places managed just one point between them, with fifth-placed Fleetwood going down to a 31st-minute Matt Rhead goal at Mansfield while Burton in sixth lost to Bristol Rovers on Friday night.
Seventh-placed Southend were only slightly able to capitalise on those results as they drew 0-0 at York, who failed to score for a fourth successive home game.
Immediately below the Shrimpers, both Newport and Hartlepool were beaten.
A first-half Ashley Vincent goal earned Cheltenham a 1-0 win at Newport - their first victory since Boxing Day - while Hartlepool crashed to a 2-0 defeat at Northampton.
Mathias Kouo-Doumbe and Brennan Dickenson struck either side of the break for the Cobblers, who remain bottom but are now level on 29 points with 23rd-placed Torquay.
Torquay slumped to a third straight defeat after Accrington substitute Kal Naismith scored a superb 80th-minute winner for his side in a 1-0 success.
Taking advantage of the absence of victories in the top half of the table, Plymouth climbed up four places to 10th with a 2-1 win at Dagenham and Redbridge.
Reuben Reid's fifth-minute opener for Plymouth was cancelled out by Zavon Hines in the 23rd minute but Lewis Alessandra put the visitors back in front 10 minutes later.
In Saturday's other match, Danny Mayor's injury-time strike secured Bury a 1-0 victory away to AFC Wimbledon to extend their unbeaten run to five games and lift them up to 20th spot.