Joe Taylor's second goal in as many games set the Imps on their way to a fourth win in five games, as City's impressive February continued.
Taylor struck in just the second minute, before Hackett converted a penalty in second-half stoppage time, to seal the three points and stretch the unbeaten run to eight games.
City's No.9 did not need to be asked twice when presented with an early opportunity. Nathan Smith played a free-kick without realising Taylor was right in the path of where he wanted to send the ball, and he promptly fired home with goalkeeper Connor Ripley out of his goal.
The Imps, buoyed by the goal and without tasting defeat in the previous seven games, then controlled the opening stages as a Sean Roughan ball into the area looking for Taylor caused problems.
It took 12 minutes before the home side managed to keep hold of the ball in their final third, with Dan Jones' cross too deep to cause Lukas Jensen any problems, with Jason Lowe heading wide and James Wilson sending an effort too close to City's No.1.
City looked to strengthen their advantage, with Taylor doing well down the right before cutting inside and playing the ball across goal looking for Hackett - with a vital interception from a home defender stopping him from turning it home.
Lasse Sorensen also got away down the right after 36 minutes, with a chipped delivery looking for Taylor which was cut out by Ripley in the home goal.
Bishop threatened moments later, after picking the pocket of Ojo, before Smith got back with a vital block as he advanced on goal. Ripley was again needed to collect a lofted free-kick from Bishop.
Vale, backed by a good crowd, enjoyed a good spell of pressure just before the interval. The best chance was a long-range shot from James Wilson, which needed a diving save from Lukas Jensen to stop it nestling in the top right corner of the goal.
And Jesse Debrah headed over from the resulting corner, but City deserved their half-time advantage.
The opening period of the second half was even, with the first chance falling to the home side after 54 minutes when Alex Mitchell's clearance ricocheted off Wilson and needed Jensen to come out quickly to block Vale's centre-forward when the ball fell nicely for him to get a shot away.
City had to soak up some pressure before enjoying more of the ball as the game entered the final half hour - with Sorensen, Roughan and Danny Mandroiu all sending crosses into the area without managing to carve out a clear chance.
Clear chances were at a real premium throughout the second period, with a corner won as Joe Taylor closed in on a ball over the top after 68 minutes.
And when Tom Sang got a header away in the other area, Jensen was more than equal to it as he made an ultimately comfortable save.
Both side made changes as the game entered the closing stages, with Jack Moylan and Dylan Duffy coming on for the Imps as head coach Michael Skubala looked to have fresh legs in the attacking third.
Darren Moore, in his first home game as Vale manager, had similar thoughts, and brought his No.9 Ryan Loft off the bench with 10 minutes to go.
Bishop almost settled the match in dramatic fashion after 83 minutes, and again the home side had themselves to blame as it was a loose pass from Ripley. Bishop intercepted and, with the keeper out of his goal, sent a long-range effort which had Ripley scrambling back to tip the ball around the far corner.
And Paudie O'Connor's powerful header from the resulting corner, which was sent in by Hackett, needed a top-class save from Ripley to tip it over the bar.
City were given the chance to seal the match in style two minutes into time added on when Duffy got away from Jones in the area and was pulled down. Hackett stepped up to calmly finish in front of the 670 travelling fans.
Vale: Connor Ripley, Dan Jones, Tom Sang, Nathan Smith, Ben Garrity, Ethan Chislett (Gavin Massey, 58), Funso Ojo (Ryan Loft, 79), Jason Lowe, Jensen Weir (Bayleee Dipepa, 74), Jesse Debrah, James Wilson. Subs not used: Jason Leutwiler, Conor Grant, Alex Iacovitti, James Plant.
Imps: Lukas Jensen, Alex Mitchell, Paudie O'Connor, Sean Roughan, Ethan Erhahon, Conor McGrandles, Ted Bishop, Lasse Sorensen (TJ Eyoma, 86), Reeco Hackett, Danny Mandroiu (Dylan Duffy, 77), Joe Taylor (Jack Moylan, 70). Subs not used: Jordan Wright, Bola Okewoye, Jovon Makama.
Attendance: 7,148 (670 away)