The Portuguese defender struck in the 69th minute to down Steve Bruce's men and maintain his side's unbeaten run since New Year's Day.
Defender Jose Fonte struck in the 69th minute after a scramble in the hosts' area, extending his side's unbeaten run since a New Year's Day defeat to Chelsea.
Shane Long had earlier been denied by the frame of the goal on what was a disappointing evening for Hull, which also lost defender Paul McShane to injury in the first half and is still four points from the drop zone after its fourth home league defeat of the season.
It was the visitors who started brightest, with Rickie Lambert pouncing on to a deflected cross from Calum Chambers on the right before shooting wide with four minutes gone. Lambert again caused problems when he was played through by Steven Davis, but his heavy touch gave Harper and McShane enough time to react to his attempted effort on goal.
However, Republic of Ireland defender McShane had to be carried off on a stretcher and was replaced by George Boyd as a result of the three players colliding after just 12 minutes.
Jay Rodriguez then came close to putting Mauricio Pochettino's side ahead after 30 minutes when his curling effort from outside the box beat Artur Boruc but hit the crossbar.
Nikica Jelavic tested Boruc five minutes before halftime with a right-footed shot as he made the most of a failed clearance following another Elmohamady cross.
Hull was the first to threaten after the restart, but Jelavic's long-range free kick was easily saved by Boruc. Rodriguez then failed with an acrobatic attempt at goal from close range after good buildup play from Luke Shaw on the left wing.
Southampton started to dominate and the constant pressure nearly paid off as Lambert almost opened the scoring with a shot from a tight angle inside the box.
However, the visitors did take the lead with just more than 20 minutes remaining. Harper failed to deal with a long ball in from Chambers and Fonte's reaction shot then looked to have been cleared off the line, but referee Atkinson gave the decision in Southampton's favor after a referral to goal-line technology.
The hosts failed to find a way back back into the game after going behind and Saints, having looked solid throughout, held on for the win.