It had looked like an early goal from the diminutive Emanuele Giaccherini would see Paolo Di Canio's men take three points back to the north east.
Standing at just 5ft 5in, the smallest player of the pitch headed home a Sebastian Larsson corner unmarked in just the third minute.
Poor finishing, fine goalkeeping from Kieren Westwood and plain old bad luck looked set to deny Saints, only for centre-back Fonte to head home two minutes from time.
It was just reward for Mauricio Pochettino's side, who came into the clash buoyed by a fine opening-day win at West Brom.
Following moves for Dejan Lovren and Victor Wanyama, Dani Osvaldo arrived this week from Roma for a fee that could reach £14.5million.
The forward was named amongst the substitutes at St Mary's. Full coverage of today's matches can be found on the ITV Sport website here.
Larsson sent across a corner from the left found Giaccherini unmarked and he nodded home to the delight of the hardy 1,867 travelling fans.
It was hardly the start Southampton wanted but one they responded well to.
Rickie Lambert slipped through a fine ball to Jay Rodriguez, who slotted past Westwood and wheeled away in celebration - only for the linesman to rule the sixth-minute leveller out for offside.
James Ward-Prowse, one of three 18-year-old academy graduates in the starting line-up, sent over a looped cross to Lambert, with only an exquisite Westwood save down to his right preventing the England international heading home.
Ironic cheers met referee Lee Mason's award for a foul on the new boy late on - a decision that led to Saints equalising at the death.
Ward-Prowse floated in the free-kick and centre-back Fonte met the ball with a powerful header that at last beat Westwood.
Rodriguez saw a shot deflect wide as Saints pushed for another in stoppage time, but there was to be no further goals.