South Sydney star Adam Reynolds nailed three field goals, including one inside the final 60 seconds, to send the Rabbitohs to within 80 minutes of the NRL grand final.
With St George Illawarra leading by one with two minutes to go on Saturday night, the semi-final seemed destined for golden point when Reynolds was on target with his second field goal.
However, the Dragons inexplicably failed to get to a kick on their last play to set in motion Reynold's opportunity to land the decisive blow in a dramatic 13-12 victory.
The Rabbitohs face the Sydney Roosters at Allianz Stadium next Saturday for a spot in the decider, with the winner to face either Melbourne or Cronulla.
The Dragons appeared on track for a stunning upset when they willed themselves to an eight-point lead in front of a crowd of 48,188 at ANZ Stadium.
But Reynolds emerged as the hero, scoring all 13 points to steer his team to victory.
"He was on tonight," Rabbitohs coach Anthony Seibold said post-game.
"Reyno works really hard on his craft... I felt great for Reyno. You get what you deserve and he deserved that tonight."
The Dragons lost Tariq Sims to a knee injury early after halftime but kicked out to an eight-point lead on Zac Lomax's penalty goal in the 53rd minute.
However, Reynolds flipped the script in the space of three minutes, putting Angus Crichton through a hole and then backing up to score the try.
He then potted a penalty goal not long after to level the game.
Hunt hooked a field goal attempt wide in the 69th minute and Reynolds responded by coolly sending his first one-pointer over the next minute in what kick-started the frenetic finish.
The lead would change two more times, with Reynolds' second field goal also wobbling over despite getting partly charged down by a Dragons chaser.
He then broke the hearts of the Dragons with his third and final one-pointer - a feat not achieved since 1971 - to send the Rabbitohs through following a controversial week off the field.
Both sides traded early penalties in a closely contested opening 20 minutes, which included a try-saving tackle from Matt Dufty on a flying Alex Johnston in the 25th minute.
There was a scary moment not long after, when Rabbitohs winger Campbell Graham somersaulted in midair following a collision with chasing Dragons forward Jeremy Latimore, who was placed on report.
Reynolds' counterpart Ben Hunt started promisingly when he dummied over for the opening try but his influence then waned until he failed to get a kick away on the Dragons final possession.
Dragons coach Paul McGregor refused to be critical of the final play.
"You can break the game down a fair bit if you like, but that's not for this press conference," he said.
"I'm not going to turn on a player who didn't make the right decision. Going forward, it's a great opportunity for these guys to make sure they get it right."