The Stormers ended a three-game winless streak with a hard-fought 31-24 victory over the Cheetahs at Newlands.
A typically physical South African Super Rugby derby saw the Stormers outscore their visitors three tries to two to provisionally move back to the top of the Africa 1 conference and stay firmly in the hunt for a home quarter-final.
It was far from plain sailing though as the Cheetahs threatened to take more than a losing bonus point right up to the end.
Although there were times when they were in serious trouble, the home side ultimately deserved this win as they dominated for large periods.
It was a good day for the Du Plessis family with debutant Daniel du Plessis crossing for the home side's opening try and his cousin, Jean-Luc, finished with a 16-point haul via four penalties and two conversions.
The visitors were fastest out of the blocks and, after being camped inside the Stormers' 22 from the kick-off, Fred Zeilinga opened the scoring with a penalty in the fourth minute after a Nizaam Carr indiscretion at a ruck.
The Stormers soon took control of proceedings, however, and two minutes later Nic Groom was over the whitewash, but his effort was disallowed after he stepped into touch in the build-up.
The home side were soon level though - Jean-Luc du Plessis adding a penalty in the 10th minute after several Cheetahs strayed offside on defence.
It was a frantic affair for the next 20 minutes, as both sides tried to attack when they were in possession, but two penalties apiece from Zeilinga and Du Plessis were all they had to show for their efforts.
The Stormers were gradually gaining the upper hand although the only interesting bit of action to report was a bit of argy bargy between Springbok locks Eben Etzebeth and Lood de Jager in the 28th minute.
After going close to scoring from a couple of line-out mauls, inside the visitors' 22, the Stormers eventually got over the whitewash in the 35th minute - outside centre Daniel du Plessis diving over with two defenders on his back following a superb line break from Siya Kolisi in the build-up.
Jean-Luc du Plessis converted which meant the Stormers led 14-9 at half-time.
Just like the first-half, the Cheetahs made the brighter start after the break, but the first points of the second period went to the home side courtesy of a try from Leolin Zas, who intercepted a Michael van der Spuy pass on the Stormers 22 before outpacing the cover defence and crossing the whitewash.
That try seemed to be a wake-up call for the visitors, who struck back soon after via a try from Paul Schoeman, with Clayton Blommetjies putting him in the clear with a superb long pass inside the Stormers' 22.
Zeilinga added the extras, but the Stormers were soon leading 24-14 after Du Plessis added another penalty in the 54th minute. The visitors didn't take long to respond though and five minutes later Sergeal Petersen crossed for their second try after the Stormers failed to deal with a teasing grubber kick from Raymond Rhule inside their 22.
Once again Zeilinga converted, meaning the Cheetahs were trailing by just three points, which resulted in several worried looks amongst the home crowd.
Five minutes later, those frowns turned to smiles thanks to a fine try, against the run of play, from Kobus van Wyk. The hosts were initially under the cosh, close to their try-line but a brilliant steal at a ruck from Scarra Ntubeni saw the Stormers quickly converting defence into attack.
The ball was shifted to Sikhumbuzo Notshe, who did brilliantly to boot it up field and Van Wyk showed a superb turn of speed to beat Petersen in a sprint before gathering the ball and barging over under the posts.
Niel Marais reduced the deficit with another three-pointer from the kicking tee for the Cheetahs in the 67th minute and although there were some nervy moments for the Stormers during the closing stages, they did well to keep their opponents at bay with a solid defensive effort.
Tries: D. du Plessis, Zas, Van Wyk
Cons: J.L du Plessis 2
Pens: J.L du Plessis 4
Tries: Schoeman, Petersen
Pens: Zeilinga 3, Marais
Stormers: 15 Cheslin Kolbe, 14 Kobus van Wyk, 13 Daniel du Plessis, 12 Damian de Allende, 11 Leolin Zas, 10 Jean-Luc du Plessis, 9 Nic Groom, 8 Sikhumbuzo Notshe, 7 Siya Kolisi, 6 Nizaam Carr, 5 Pieter-Steph du Toit, 4 Eben Etzebeth, 3 Frans Malherbe (c), 2 Bongi Mbonambi, 1 Oli Kebble
Replacements: 16 Scarra Ntubeni, 17 Alistair Vermaak, 18 Vincent Koch, 19 JD Schickerling, 20 Rynhardt Elstadt, 21 Louis Schreuder, 22 Brandon Thomson, 23 Johnny Kotze
Cheetahs: 15 Clayton Blommetjies, 14 Sergeal Petersen, 13 Francois Venter (c), 12 Michael van der Spuy, 11 Raymond Rhule, 10 Fred Zeilinga, 9 Tian Meyer, 8 Uzair Cassiem, 7 Oupa Mohoje, 6 Paul Schoeman, 5 Francois Uys, 4 Lodewyk de Jager, 3 Maks van Dyk, 2 Torsten van Jaarsveld, 1 Charles Marais
Replacements: 16 Jacques du Toit, 17 Ox Nche, 18 Luan de Bruin, 19 Armandt Koster, 20 Niell Jordaan, 21 Shaun Venter, 22 Niel Marais, 23 Nico Lee
Referee: Glen Jackson
Assistant Referees: Ben O'Keeffe, Nick Briant
TMO: Shaun Veldsman