Kenny Miller's double elevated Cardiff City into the Championship play-off places as leaders Southampton suffered just their second defeat of the season.
The Scotland international headed the Bluebirds in front as Miller nodded David Marshall's long kick over Saints keeper Kelvin Davis from 20 yards.
Miller, who had not scored in his eight previous games, cracked Aron Gunnarsson's ball home for his second.
Steve De Ridder's late consolation came from Rickie Lambert's flick.
But under-strength Cardiff, who were without five first-team players, held on to extend their unbeaten run to six games and move three points behind the early-season pace-setters.
It could have been different if Southampton had converted the second-half chances that fell twice to Lambert and Adam Lallana.
The visitors, however, remain on top of the Championship on goal difference as second-placed Middlesbrough failed to beat Leicester.
Miller showed an early statement of intent when his shot on 15 minutes was blocked by Frazer Richardson.
Saints striker David Connolly had a strike blocked by Cardiff captain Mark Hudson, who had shrugged off an ankle injury to start, before Don Cowie combined well with Joe Mason before shooting wide for the Bluebirds.
Guly Do Prado almost made the hosts pay when he struck wide, but by a narrow margin, for Saints before Peter Whittingham went close for Cardiff with a free-kick.
Lambert should have headed Southampton into a 50th-minute lead but the Saints striker nodded wide following confusion in the Cardiff defence.
The visitors were left to rue their missed chances as Miller beat Jose Fonte to head goalkeeper Marshall's long punt upfield past an onrushing Davis for Cardiff's opener.
And the 31-year-old's second seven minutes later settled the finely-balanced contest just moments after Lallana was denied a Southampton leveller by a superb Marshall save.
Gunnarsson capitalised on a misplaced pass out of defence by Southampton and the Iceland international fed Miller who drove a low shot past Davis into the far corner of the net from the edge of the penalty area.
Lambert, who has already scored six goals this season, was again guilty of heading a clear-cut opening wide before De Ridder pounced to net an injury-time consolation for Southampton.