The home striker converted a penalty on 48 minutes and added a second goal in stoppage-time to condemn the Minstermen to a 32nd away game without a victory and extend their current win-less run to an 11th fixture.
York goalkeeper Kyle Letheren injured himself making a fine save from Callum Howe’s downward header on 11 minutes.
Letheren’s replacement Scott Flinders, who has returned to the club following a loan spell at Macclesfield, also had to react smartly to save efforts from Nathan Ferguson, Andrai Jones and Allen.
At the other end, York were offering little threat, although Kaine Felix glanced a header wide from Ben Clappison’s centre on the stroke of half-time.
Southport went ahead on 48 minutes after Matt Fry tangled with Liam Nolan in the box.
Allen went on to send Flinders the wrong way from the spot.
Saves from Flinders kept his team in the contest, though, as he brilliantly thwarted Jones after he had sidestepped Clappison’s challenge eight yards from goal.
Jones headed wastefully wide from Allen’s right-wing cross but it mattered little as, after Callum Rzonca had missed a one-on-one for the Minstermen, Allen charged clear at the other end and beat Flinders from 10 yards.
Southport: Norman; Higgins, Howe, Thompson, Ashton; Lussey (Hynes, 46), Weeks, Nolan, Ferguson (Caton, 67); Allen, Jones. Unused substitutes: Gray, Grimes, Cofie.
York City: Letheren (Flinders, 12); Clappison, Higgins (Rzonca, 57), Fry, Whittle; Kamdjo, Heslop, Klukowski (Clarke, 46); Felix, Fenwick, Galbraith. Unused substitutes: Robinson, Bruton.
Referee: Karl Evans