Jay Rodriguez and Dejan Lovren gave the Saints a commanding lead against a poor Black Cats side but the home side fought back to earn the draw to move temporarily above Cardiff.
Southampton looked set to end a week of turmoil, which included the resignation of chairman Nicola Cortese on Wednesday, with victory after first-half goals from Jay Rodriguez and Dejan Lovren.
Yet Sunderland's recent resurgence continued as Borini halved the deficit before halftime, and Johnson maintained his excellent form with a superb right-footed strike to level an exhilarating contest.
Southampton had ample opportunities to pull clear after the break, but was made to rue its wastefulness when Johnson fired home at the near post.
The result sees Sunderland move up one spot to 18th, while Southampton remains ninth.
|VIEW FROM THE STADIUM OF LIGHT
|By Harry Slavin
It’s a point apiece for the Black Cats and the Saints but you have to feel that neither side will be happy with a share of the spoils.
Southampton bossed the opening period and should have added to strikes from Rodriguez and Lovren before Borini was allowed to fire Sunderland back into the game.
Meanwhile Gus Poyet will be left wondering why it took his side to fall two goals behind before the players finally showed up. The fight back bodes well for the relegation tussle ahead but there won’t be much hope if the club has to fall behind every week to muster the determination and passion shown in the second half.
Sunderland made two changes with Sebastian Larsson and Jozy Altidore replacing Jack Colback and Steven Fletcher, while the Saints brought in Calum Chambers for Nathaniel Clyne.
Southampton's early dominance was rewarded after four minutes when the home side failed to clear its lines, allowing Rodriguez time to bring the ball out of the air and rifle home a superb half-volley from 25 yards.
Buoyed by the opener, Jack Cork almost capitalized on Vito Mannone's poor clearance by lofting an effort onto the roof of the net.
The home fans were becoming restless and their mood was not helped when Rickie Lambert dragged wide from Morgan Schneiderlin's neat flick after being put through one-on-one with Mannone.
Wes Brown was caught in possession soon after by Lambert, who laid into the path of Rodriguez only for the forward to shoot tamely at Mannone.
Southampton's second goal deservedly arrived 31 minutes in, Lovren escaping the attention of Brown to volley home Davis' corner.
Within the space of a minute Sunderland clawed its way back into the game when Borini collected Johnson's long ball and guided his shot past Artur Boruc.
The game opened up after the break and Southampton should have scored again when good work by Adam Lallana led to Rodriguez firing straight at Mannone from the edge of the box.
The away side continued to press with Lovren seeing a free header saved, before Rodriguez met Lambert's center from the right on the hour mark but failed to hit the target.
Southampton was almost punished when Borini sprinted away from the defense and slotted under Boruc, only to denied by the linesman's flag.
However, the home fans were sent into delirium on 71 minutes when Ki Sung-Yueng charged forward and found Craig Gardner. His pass picked out Johnson on the right side of the box and the winger's thunderous strike squirmed in at the near post.
With the momentum behind it Sunderland pushed for the winner, and Johnson almost delivered for Gus Poyet's men with a half-volley that was smartly stopped by Boruc.
Southampton's day worsened in the closing stages when Gaston Ramirez was carried off on a stretcher with an apparent ankle injury following a challenge by Brown.