Two tries from Prop Wyatt Crocket helped the Crusaders to a 14-20 victory over the Stormers at Newlands in Cape Town.
The Crusaders fell to the Stormers 42-14 in last year's fixture.
Before the match was even started the Crusaders were hit by injury and the trend continued through the match.
The first Crusader to fall was Israel Dagg after just four minutes and he was followed by Kahn Fotuali'i a short while later.
The injury toll continued to mount for the Crusaders through the match as they had to replace replacements with further replacements.
Adam Whitelock came on for Israel Dagg and he too had to be replaced by Jonathan Poff. Winger Sean Maitland also had to be replaced.
By half time the Crusaders had lost four backline players and started the match without Richie McCaw and Dan Carter.
The Stormers had ample opportunity to win the match but constant pressure from the Crusaders affected their finishing and set-pieces which led to the Stormers second defeat of the season.
In a game where the lead swung back and forth, Jaque Fourie ran in the Stormers only try in the 18th minute to give the home team a 11-10 halftime lead.
But Crockett's second try, where he powered through three tackles, was the decider and the Crusaders defended brilliantly with a makeshift back division in the final 10 minutes to send the Stormers to just its second defeat this season.
"I think we stepped it up defensively," Crockett said.
"The Stormers threw everything at us but the defensive line was very strong. We knew we had to match the Stormers defensively.
"There was two willing teams out there tonight."
The Crusaders record improved to 8-2 with one draw and they move to 44 points on the Super Rugby standings.
The seven-time champions climb to fourth behind the Stormers, who have 43 points but stay third under new rules because they top the South African Conference.
The Crusaders hit the lead in the ninth minute, when Sonny Bill Williams unlocked the Stormers defence with a typically inventive offload.
Sandwiched by two Stormers forwards, the All Blacks centre hooked his arm around the tacklers to release Maitland, who skipped clear down the left wing.
Captain Kieran Read supported and the charging Crockett took an inside pass to go over with no defender near him.
Stormers No. 10 Lionel Cronje trimmed the lead to 7-3 in the 14th minute, before the Stormers broke through the Crusaders' midfield.
Super 15 newcomer Johann Sadie burst through from a set backline move and Fourie finished out wide for the Springboks centre's 36th Super rugby try.
Lionel Cronje missed with his conversion, but swapped penalties with Berquist as the home team took a narrow advantage to the break after a bruising first half - which also saw Stormers flanker Francois Louw leave the field with a blood injury after a huge tackle by Crockett.
The lead swapped hands again early in the second half through penalties from Berquist and Cronje, but the Crusaders pinned the Stormers deep inside their own territory.
Another pass from Williams out of a tackle nearly released left winger Zac Guildford, who couldn't hold the ball with the tryline in sight.
Replacement No. 9 Willi Heinz then dodged the entire Stormers backline but also knocked on as he dived for the score.
The Crusaders backline threat, spearheaded by the elusive Williams, was complemented by its dominance at the scrum, with the Stormers holding on grimly to a 14-13 advantage, often with last-ditch defence.
But the Crusaders' relentless search for the crucial score eventually told after centre Robbie Fruean broke down the right wing, and Crockett dragged four Stormers defenders with him to touch down for his second try.
Berquist's fourth success gave the Crusaders a 20-14 lead with 15 minutes to play, and despite a late Stormers onslaught from a string of lineouts five meters out, the visitors held out for an impressive away victory.
Final Score Stormers 14 Crusaders 20
Tries - J Fourie
Pen - L Cronje 3
Tries - W.Crockett 2
Pen - M Berquist 2
Con - M Berquist 2
Cards - T Marshall (82nd min) Yellow.
Referees: Chris Pollock (New Zealand)
Assistant referees: Lourens van der Merwe (South Africa), Phillip Bosch (South Africa)
Television match official: Shaun Veldsman (South Africa)
Stormers :15. Conrad Jantjes,14. Johann Sadie ,13. Jaque Fourie,12. Jean De Villiers,11. Gio Aplon ,10. Lionel Cronje,9. Dewaldt Duvenage,8. Duane Vermeulen,7. Francois Louw,6. Schalk Burger (C),5. Andries Bekker,4. Reynardt Elstadt,3. CJ van der Linde,2. Deon Fourie,1. Wicus Blaauw
Reserves:16. Tiaan Liebenberg,17. Brok Harris,18. De Kock Steenkamp,19. Nick Koster,20. Ricky Januarie,21. Kurt Coleman ,22. Juan De Jongh
Crusaders :1. Wyatt Crockett , 2. Corey Flynn , 3. Owen Franks , 4. Luke Romano , 5. Chris Jack , 6. George Whitelock , 7. Matt Todd , 8. Kieran Read (c) , 9. Kahn Fotuali'i , 10. Matt Berquist , 11. Zac Guildford , 12. Sonny Bill Williams , 13. Robbie Fruean , 14. Sean Maitland , 15. Israel Dagg
16. Quentin MacDonald , 17. Andrew Olorenshaw , 18. Joe Wheeler , 19. Jonathan Poff , 20. Willi Heinz , 21. Adam Whitelock , 22. Tom Marshall