Saints closed the gap on Championship leaders West Ham after grabbing a second-half equaliser through Rickie Lambert.
Lambert netted his 19th of the season from the penalty spot after good work by the fit-again Adam Lallana resulted in a Kevin McNaughton handball.
Cardiff had taken a controversial 36th-minute lead through Craig Conway.
Goalkeeper Kelvin Davis appeared to be impeded before Conway's deflected strike hit the back of the net.
Saints new boy Billy Sharp was not signed in time to play tonight but Nigel Adkins' side has closed the gap on West Ham, who lost 5-1 at Ipswich.