Southampton gained revenge for their 9-0 thrashing by Leicester City in October when in-form Danny Ings scored a late winner to shock the second-placed Foxes at King Power Stadium.
Leicester, seeking a third successive Premier League win, took an early lead when Dennis Praet tapped in his first goal for the club.
But any thoughts of another easy victory for Brendan Rodgers’ side were quickly dispelled when Stuart Armstrong equalised with a deflected shot.
Ings, who has now scored 10 goals in his last 10 league starts, was a thorn in Leicester’s side all afternoon and having already struck the crossbar twice, he slotted through Kasper Schmeichel’s legs late on.
Leicester thought they had salvaged a draw with a 90th-minute equaliser from Jonny Evans but the video assistant referee (VAR) ruled it out for offside.
The victory sees Southampton remain 12th, but move level on points with Everton and Arsenal, while Leicester stay second but 12 points behind Liverpool, who play in the late kick-off.
The victory for Ralph Hassenhuttl’s men represents a remarkable turnaround from the previous result between the sides but it was nothing more than the visitors deserved having dominated in the first half and matched Leicester in the second.
But while the Saints shaded the chances, Leicester did have the ball in the net on another two occasions – through Jamie Vardy and then Kelechi Iheanacho – but both efforts were disallowed for offside by the on-field officials.
Saints were also awarded a penalty in the second half when Caglar Soyuncu bundled Shane Long over in the box but VAR also overturned that decision.