The frontman built on his goal in the 3-0 local derby win over Grimsby Town on Saturday by netting two in the first half.
The Iron made two changes to their starting line-up for the game, as Jordan Clarke and Alfie Beestin were replaced by Jai Rowe and Lewis Spence.
Rowe received a yellow card within the first minute after a foul on Alex Hurst. From the subsequent free-kick, sent in from just inside the Iron's area, former Iron defender Shaun Brisley connected with a header and forced a save from Iron goalkeeper Mark Howard.
With five minutes played, Rowe sent a ball forward which tempted a wayward touch from Vale’s defender. He prevented the corner, but it resulted in a throw for the Iron.
There was then good work from Jem Karacan on the right channel from that throw as he won a free-kick, but nothing came from it.
After nine minutes, Mason O’Malley sent in a free-kick to the far post, with Emmanuel Onariase winning the header. Alex Gilliead won the second header, but Vale cleared for an Iron throw.
A minute later, Rowe did well to block Hurst’s cross from the left and then prevent the corner. The Iron looked to break with Eisa but the visitors intercepted the pass through.
On 14 minutes, Abo Eisa put pressure on the Valiants’ backline to force the ball to be played out for a throw after Devarn Green won an aerial battle in midfield. Eisa rolled his man from the resultant throw and had a go from range, but the effort flew wide.
Soon after, there was a chance for the visitors as the ball came down the left. It was squared to the edge of the area with Howard making a double save, once from long range and once from close range. The latter effort was ruled offside.
With 20 minutes gone, Brisley threw himself to the ground as Onariase went in with the tackle inside the box. A corner was given after the Iron central defender played the ball, and nothing came from it.
A minute later, Eisa and Green broke with the latter getting in a cross. The ball was headed out to Spence, who controlled and saw his long range effort blocked.
On 22 minutes, the Iron looked to play a quick free-kick in behind. The ball was nodded down into the path of Loft, but his volley from range went wide.
Following that, there was a great move down the left side. Eisa’s pace proved too much and his low cross found Loft, but he couldn't steer in a shot, with Gilliead waiting to potentially slot home.
United went ahead after 26 minutes when Loft rolled his defender on half-way, he looked to have been fouled but he shrugged him off, advanced to the area and slotted a brilliant effort across goal for his sixth goal of the season.
Soon after, there was a corner to Vale on the left side as the visitors looked to respond to that goal. The ball into the Iron box hung up, but was headed wide of the mark by Vale.
Nevertheless, United doubled their lead with 32 minutes played as Loft got his second of the night, and seventh of the season. This time he fed the ball wide to Gilliead. He side-stepped well and fired in a shot which was saved by Brown, but Loft was there to steer home the rebound.
With 34 minutes played, Mark Cullen looked to halve the deficit for Vale as he received the ball in the area. Just as he swiped his boot through the air, the Iron hooked clear for a corner.
The 40th minute saw superb play from the Iron as Rowe found Loft. He held up play and linked in the midfield which then saw Gilliead attack down the right. His cross was turned behind for a corner. Taft won the header from the corner but Vale cleared and broke. Karacan chased back the break and tackled the Port Vale player before being cautioned.
On 44 minutes, there was superb play from Green as he weaved in and out of the Vale players before being brought down. It resulted in a free-kick to the Iron and a yellow card for Zac Mills.
A minute into the two of added time, Loft had a chance for his hat-trick as he advanced on goal. He shifted to his left foot and saw his effort blocked, with Green then sending his shot wide.
Early in the second period, David Worrall knocked down a cross from the left side for Vale, with Kurtis Guthrie almost seeing the ball drop to him, but Howard ended up gathering possession.
After 48 minutes, Green was pulled back as Eisa slipped him into the area, but advantage was played. Green saw his cross blocked, but it ricocheted off him and out for a goal kick.
Just after, the visitors had a spare man at the back post from a cross, with the ball edged to Tom Conlon on the edge of the box. He looked to dink in an effort, which Howard saves.
Then, straight after, David Amoo glanced the ball towards goal following a right-winged cross, but Howard again made the save.
On 57 minutes, Worrall broke the offside trap shortly following an Iron break, but Howard read the play and pounced on the ball as it entered his area.
During what was a quiet second half in terms of chances, United made their first alteration on 67 minutes when Beestin came on for Karacan, and then Green was replaced by Jacob Bedeau.
In the 74th minute, Howard made a routine save as he clutched hold of a Worrall header following a left-winged cross by David Fitzpatrick.
Four minutes later, George Taft did well to track his man’s run and hook the ball out for a corner. Onariase and Spence both headed clear before the follow-up cross went to the other channel with Loft sliding in to win the ball.
On 80 minutes, Bedeau blocked a goal bound shot before heading away the follow-up cross. Gilliead then brought the ball away on the break.
There was a third Scunthorpe alteration with 84 minutes gone, as two-goal Loft was replaced by Myles Hippolyte.
Port Vale had a lot of possession throughout the second-half but United held firm and restricted any real clearcut chances, keeping their second clean sheet in succession.
The Iron return to action on Friday night when they visit Colchester United (7pm kick-off).
IRON: Howard, Taft, Onariase, Gilliead, Loft (Hippolyte, 84), Eisa, Green (Bedeau, 72), Spence, Karacan (Beestin, 67), Rowe, O'Malley.
IRON SUBS NOT USED: Watson, Brown, Hallam, McAtee.
PORT VALE: Brown, Mills (Gibbons, 45), Smith, Brisley, Fitzpatrick, Hurst (Oyeleke, 82), Conlon, Taylor (Joyce, 45), Worrall, Cullen (Amoo, 45), Guthrie.
PORT VALE SUBS NOT USED: Scott, Crookes, Burgess.