Fly-half Chris Noakes kicked six goals to help the Blues see off the Stormers.
- Related Content
The visitors, for whom captain Jean de Villiers scored two tries, had the chance to win it late on, but Elton Jantjies missed a drop-goal attempt.
Noakes slotted the Blues into a 6-0 lead before they had a scare when Andries Bekker was adjudged to have grounded the ball just short of the try-line after good work from Johan Pietersen and Gio Aplon.
The Stormers were awarded a penalty, however, which Pietersen slotted over.
He missed a penalty attempt from 40 metres shortly after, though, and Noakes made them pay shortly afterwards with a 33rd-minute penalty which extended the hosts' advantage to 9-3.
Noakes added two more and the Blues felt aggrieved not to move further ahead when the television official ruled out a Quentin MacDonald try after he took a return from a lineout throw to charge to the line.
De Villiers' first try after 64 minutes enabled the South Africans to reduce the arrears. The ball was moved wide and centre Juan de Jongh, who had been outstanding in the midfield all night, hit the ball at speed and opened up the defence.
He was grounded just short of the line, but the resulting ruck saw De Villiers go over, with Pietersen landing the conversion to pull the score back to 15-10.
Noakes made it 18-10 in the 72nd minute with his sixth three-pointer - the highest number kicked by an individual in Blues history.
De Villiers gave the Stormers renewed hope when, from a set-piece play, he swept past centre Francis Saili and raced over.
Pietersen's conversion pulled the margin back to one point.
The Stormers applied scrum pressure and created the turnover to set up a final chance when the Blues knocked on.
For four minutes the Stormers rolled and rumbled the ball, but tenacious defence, and a refusal to concede a penalty saw the Stormers finally resort to a dropped goal attempt.
However, replacement Jantjies fluffed the kick and the Blues had their win.