A 78th minute long-range penalty from Ruan Combrinck saes the Lions recover to beat the Sharks 23-21 in their quarter-final.
From 58 metres out the Lions wing sent the ball over the crossbar to break Sharks hearts and set up a semi-final clash with the Hurricanes.
It had looked like the Sharks would be heading to Wellington after tries from Kobus van Wyk and Dan du Preez, along with the boot of Curwin Bosch, put them 21-20 in front with two minutes left on the clock at Ellis Park.
But up stepped Combrinck to nail the long-range kick for his side, whose try scorers were Franco Mostert, Jaco Kriel and Lionel Mapoe, as they now welcome the Hurricanes to Johannesburg in what will be a thrilling game.
Few gave the Sharks a hope of beating the Lions on their home patch, but with a 14-3 lead at half-time a shock win was most definitely on.
Elton Jantjies was out of sorts and missed two simple penalties while Bosch was on song with a drop-goal also chucked in for good measure.
The Lions were eager to flex their muscles early on and turned down a shot at goal in favour of the corner, with the Sharks doing well to keep them at bay. Eventually they did go for the posts but Jantjies struck the upright, much to the surprise of the Johannesburg faithful.
Seconds later though the Lions fly-half did knock over three points after Sharks second-row Etienne Oosthuizen had taken out Mapoe.
Then came a moment of madness from the Lions as from a quickly taken lineout loose passes saw the Sharks gather and Van Wyk score wide out.
The Sharks made it 8-3 on 17 minutes thanks to a Bosch drop-goal and with Jantjies missing again soon after, the Lions fans looked worried.
Bosch extended the Sharks' lead to eight points on 35 minutes and then struck again, this time from distance, to make it 14-3 at the break.
The Lions needed to regroup and fortunately for the home support they began to find some rhythm early in the second-half. Their hopes were improved too when Stephan Lewies was yellow carded for offside after referee Marius van der Westhuizen had issued a team warning to them.
That sparked the Lions and confidence returned as Mostert's short carry saw him cross on 47 minutes before sustained possession and territory five minutes later led to Kriel crashing over. Again though, on both tries, Jantjies missed his conversion attempts so they still trailed.
But that all changed when from a quick tap in their own half the Lions countered via Harold Vorster, who set up his centre partner Mapoe for a clear run-in. Jantjies this time added the two points which meant the Lions led 20-14. That though was the fly-half's last offering.
The Sharks were far from done though and moved back in front on 66 minutes when number eight Du Preez barged over off the back of a scrum. That crossing came following Mostert being yellow carded for pulling down a maul. With Bosch's easy conversion they went 21-20 up.
The Lions were still struggling off the tee and this time it was Combrinck who was wayward, missing a chance to edge his side ahead.
But he would make no such mistake with two minutes to play from 58 metres out after Sharks full-back Lwazi Mvovo was offside, to send the crowd wild, with the Lions holding on for the remaining seconds to secure a home semi.
Tries: Mostert, Kriel, Mapoe
Pens: Jantjies, Combrinck
Yellow Card: Mostert
Tries: Van Wyk, D du Preez
Pens: Bosch 2
Drop Goal: Bosch
Yellow Card: Lewies
Lions: 15 Andries Coetzee, 14 Ruan Combrinck, 13 Lionel Mapoe, 12 Harold Vorster, 11 Courtnall Skosan, 10 Elton Jantjies, 9 Ross Cronje, 8 Ruan Ackermann, 7 Kwagga Smith, 6 Jaco Kriel (c), 5 Franco Mostert, 4 Andries Ferreira, 3 Ruan Dreyer, 2 Malcolm Marx, 1 Jacques van Rooyen
Replacements: 16 Akker vd Merwe, 17 Corne Fourie, 18 Johannes Jonker, 19 Lourens Erasmus, 20 Cyle Brink, 21 Faf de Klerk, 22 Rohan Janse van Rensburg, 23 Sylvian Mahuza
Sharks: 15 Lwazi Mvovo, 14 Kobus van Wyk, 13 Lukhanyo Am, 12 Andre Esterhuizen, 11 S’busiso Nkosi, 10 Curwin Bosch, 9 Cobus Reinach, 8 Daniel du Preez, 7 Jean-Luc du Preez, 6 Philip van der Walt (c), 5 Stephan Lewies, 4 Etienne Oosthuizen, 3 Coenie Oosthuizen, 2 Chiliboy Ralepelle, 1 Thomas du Toit
Replacements: 16 Franco Marais, 17 Juan Schoeman, 18 Lourens Adriaanse, 19 Jean Droste, 20 Tera Mtembu, 21 Michael Claassens, 22 Garth April, 23 Jeremy Ward
Referee: Marius van der Westhuizen
Assistant Referees: Jaco van Heerden, Egon Seconds
TMO: Marius Jonker