The Stormers were back home after three defeats on their tour of Australasia and, despite having limited training opportunities in the week because of the illness gripping the team, they had too much power for the Blues.
Wing Raymond Rhule and scrumhalf Dewaldt Duvenage scored their other tries, while teenage flyhalf Damian Willemse produced a flawless kicking performance for four conversions and three penalties.
The Blues had picked up a first win of the season with a surprise 38-35 triumph over the Lions in Johannesburg last week, but the New Zealanders found none of that fire in an error-strewn performance that saw tries for the Ioane brothers, number eight Akira and centre Rieko, and fullback Michael Collins.
“It was very tough, I think of guys like Damian, who has been sick the whole week. I am so proud of the boys, how they came out with next to no training for most of them, just the captain’s run,” Stormers captain Siya Kolisi said at the post-match presentation.
“We really wanted it, it’s been a huge week. It took a group effort to take this and I am so proud of each and every one of them.”
The home side did the damage in the first half with an energetic display, particularly at the breakdown, but as the game wore on they visibly wilted, slowing the match down at every opportunity.
Viljoen crossed for his first try inside two minutes and Dillyn Leyds, playing at fullback, was the architect of the second as he returned a kick with a weaving run, that eventually saw Rhule finish.
Their constant pressure took its toll on the visitors as Duvenage sniped between the poles to score for a 24-3 halftime lead.
Akira Ioane reduced the deficit with a try off the back of the scrum, but Stormers’ makeshift wing JJ Engelbrecht raced clear after an intercept and fed Viljoen for his second.
Collins showed good strength to evade a number of tackles before piling over the line as the Blues finished the stronger, and Akira Ioane’s inside ball to brother Rieko produced their final points.
“The execution, too many errors and you have to give credit to the attacking force of the Stormers,” Blues captain James Parsons said in assessing the defeat.
“We need to look at ourselves and if we show up with the right attitude, we showed last week what we can do.”
(Reporting by Nick Said; Editing by Ken Ferris)