The striker struck early in the second half, timing his run to perfection to beat offside and latch on to Tyler Roberts’ through-ball before firing a low shot into the far corner.
A neat Stuart Dallas finish from the edge of the box and Raphinha’s superb free-kick sealed the points.
Prior to the opener Leeds had been somewhat on the back foot, with Jan Vestegaard and Nathan Tella spurning good early chances for the Saints, who were also aggrieved at two refereeing decisions.
The first was a penalty awarded on the pitch after Tella went down in the box, but rightly overruled with VAR showing the forward kicked defender Diego Llorente and not the other way round.
They were more unhappy that a quickly taken free-kick and Che Adams finish that was ruled out, with Andre Marriner indicating that he had not blown his whistle to recommence play.
The home side could have all-but wrapped up the points in the five minutes after the opener, but Roberts fired inches wide before Bamford saw a shot well-saved by Alex McCarthy.
The Saints goalkeeper also saved brilliantly with his foot to stop Llorente scoring his first Leeds goal from close range.
Danny Ings started on the bench for the Saints and was introduced with half an hour to play to little effect.
To worsen situation for the visitors Oriol Romeu, who had earlier prevented Raphinha shooting after he had broken away with a superb sliding tackle, added to his side’s injury problems by limping off.
The win takes Leeds up to 10th in the table with 35 points from their 25 games. Southampton are five points worse off and eight clear of Fulham, whose form has been picking up as the Saints’ has been crumbling.