South Sydney halfback Adam Reynolds has kicked three field goals in the last 10 minutes, including one in the final minute, 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 nailed his second field goal.
However, the Dragons inexplicably failed to get to a kick on their last play, which went through the hands of playmaker Ben Hunt, giving Reynolds the final say in a dramatic 13-12 win.
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 proved the hero, scoring all 11 second-half points to steer his team to victory.
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.
But 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 - 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.
Latimore was placed on report for the dangerous incident but it failed to stop their growing confidence as Hunt dummied his way through a gap for the opening try.
The Dragons No.7 lulled John Sutton across the line before turning on the afterburners to give his team a six-point lead at the break.