It wasn't always comfortable, but the Stormers emerged deserved 30-13 victors against the Cheetahs at Newlands on Saturday night to stay in the hunt for an unlikely Super Rugby Unlocked title.
The Bulls sit top of the log on 19 points and will win the competition if they beat the Pumas at Loftus next weekend, but the Stormers and Sharks are both on 17 points and meet in Durban in what will be the tournament decider if the Bulls slip up.
This was almost certainly the last match the Stormers will play at Newlands before next year's move to Cape Town Stadium. There will still be matches at Newlands before then, but those will be played under the banner of the Currie Cup as Western Province look for a fitting farewell.
Much was expected from this encounter given how impressive the Cheetahs were in the early stages of the competition, but what the sides showed in intention they lacked in execution in the first half, failing to convert several promising situations into points.
The only try of the opening period came through Stormers scrumhalf Herschel Jantjies after just five minutes with a familiar snipe around the blind side of a ruck, but after that it was a battle between the forward packs - at set piece and from open play - that commanded much of the conversation around the opening period.
Stormers flyhalf Damian Willemse gave a solid account of himself, kicking the hosts into the right areas of the field and even slotting a 45m drop goal on the stroke of half-time to give his side a 13-3 lead at the break.
It was the Stormers who were edging the arm wrestles in key areas and making fewer errors, but the visitors would have fancied their chances with 40 minutes to play.
A Tian Schoeman penalty shortly after the restart, following the Cheetahs winning a scrum penalty, narrowed the gap to 13-6 briefly.
The Stormers hit back quickly, though, with a very well worked try that saw slick hands down the left before Juarno Augustus went over.
Fullback Warrick Gelant, meanwhile, continued his superb form in 2020 and was at the heart of numerous Stormers attacks, looking dangerous whenever he was on the ball.
Down 20-6, the Cheetahs turned down makeable shots at goal and were rewarded in the 63rd minute through Rosko Specman's stunning finish down the left. The Sevens star seemed to be out of space as he charged towards the line, but launched himself into the air and somehow managed to dot the ball down before being smashed into touch.
Schoeman converted and, all of a sudden, it was 20-13 with the game hanging in the balance.
A Willemse penalty on 70 minutes - this time it was the Stormers and Steven Kitshoff who won a scrum penalty - gave the Stormers a 10 point lead heading into the final 10 minutes and, from there, they were able to hold on.
The game was put to bed on 75 minutes when the home side's two backline stars on the night combined. Willemse drifted and slid through the Cheetahs defence before delivering a sumptuous offload to Gelant, who capped off a wonderful performance with a try of his own.
Stormers 30 (13)
Tries: Herschel Jantjies, Juarno Augustus, Warrick Gelant
Conversions: Damian Willemse (3)
Penalties: Willemse (2)
Drop goal: Willemse
Cheetahs 13 (3)
Try: Rosko Specman
Conversion: Tian Schoeman
Penalties: Schoeman (2)
15 Warrick Gelant, 14 Ruhan Nel, 13 Dan du Plessis, 12 Rikus Pretorius, 11 Angelo Davids, 10 Damian Willemse, 9 Herschel Jantjies, 8 Juarno Augustus, 7 Ernst van Rhyn, 6 Marcel Theunissen, 5 JD Schickerling, 4 Salmaan Moerat, 3 Frans Malherbe, 2 Scarra Ntubeni, 1 Steven Kitshoff (captain)
Substitutes (from): 16 Bongi Mbonambi, 17 Kwenzo Blose, 18 Sazi Sandi, 19 Neethling Fouche, 20 Chris van Zyl, 21 David Meihuizen, 22 Ben-Jason Dixon, 23 Godlen Masimla, 24 Kade Wolhuter, 25 Michal Hazner, 26 Leolin Zas
15 Clayton Blommetjies, 14 Malcolm Jaer, 13 William Small-Smith, 12 Frans Steynt, 11 Rosko Specman, 10 Tian Schoeman, 9 Tian Meyer, 8 Jeandre Rudolph, 7 Junior Pokomela (captain), 6 Andisa Ntsila, 5 Carl Wegner, 4 Ian Groenewald, 3 Luan de Bruin, 2 Reinach Venter, 1 Charles Marais
Substitutes: 16 Marnus van der Merwe, 17 Boan Venter, 18 Khuta Mchunu, 19 JP du Preez, 20 Aidon Davis, 21 Ruben de Haas, 22 Reinhardt Fortuin, 23 Chris Smit/Howard Mnisi