The midfielder struck with 14 minutes remaining after fellow substitute James Ward-Prowse provided the ammunition to cancel out Phil Bardsley's opener, and in the process left the home side still looking over their shoulders.
Southampton, who kicked off one point and a single place head of the Black Cats, started confidently with Adam Lallana dictating from the middle of midfield, and it was they who created the better chances.
Skipper Rickie Lambert steered a shot harmlessly wide from Lallana's seventh-minute free-kick, but despite his side's early dominance, they struggled to create further openings in a tepid first 25 minutes or so.
However, as the half wore on, keepers Simon Mignolet and Artur Boruc had to pay greater attention as the game started to open up.
The Belgium international had to make a fine reaction save to keep out Jay Rodriguez's 32nd-minute snapshot and was then grateful to see Lambert scuff another effort wide of the far post four minutes later.
But it was the Black Cats who took the lead in superb style with 22 minutes remaining.
For once, the Saints found themselves pinned back inside their own penalty area and when Adam Johnson slid to ball to the overlapping Bardsley, he smashed a right-foot shot across Boruc and with the help of a slight deflection off Jos Hooiveld, inside the far post.
But the joy was short-lived after Mauricio Pochettino made a double change which paid off within four minutes. Ward-Prowse crossed from the left for Puncheon to power a header towards goal, only to be denied by the brilliance of Mignolet, but the Saints man reacted first to poke the rebound into the roof of the net.