Noakes became the first Blues player to kick six penalties in a match, missing only one attempt at goal as his team heavily punished the Cape Town-based Stormers for lapses in composure and technique.
Just as the outcome of the match seemed clear, with the Blues leading 15-3 and 15 minutes remaining, Stormers centre and captain Jean de Villiers ran in two exceptional tries to all but snatch a win.
VIDEO: Blues v Stormers highlights
The Stormers held the ball through more than 20 phases in stoppage time to set up a dropped goal chance for replacement flyhalf Elton Jantjies but his attempt went harmlessly astray.
The Blues lost 12-11 to the Reds last weekend, beaten by a late penalty, but avoided a repeat of that experience on Friday and posted their fifth win from nine matches.
Auckland's North Shore, where the match was played, has a substantial population of expatriate South Africans and they outnumbered Blues fans, though they saw the Stormers lose for the fifth time in nine games.
The Stormers expected to dominate the match through set-pieces and stout defense and, while their defence was again impenetrable, their set-piece play was not as flawless as it has been in recent weeks. They hoped to use rolling mauls from a lineout dominated by the lock Andries Bekker to attack the Blues' line but that tactic faltered when their kicking for touch was too inaccurate.
The Blues struggled to hold their own at scrums but they answered the threat of the Stormers' lineout without conceding penalties for collapsing mauls. As the Stormers' frustrations grew, mainly through the ineffectiveness of their own game, their errors were punished with penalties.
Noakes kicked three goals for the Blues to lead 9-3 at half-time. The Stormers had come close to a try when an outstanding break by fullback Joe Pietersen, linking with wing Gio Aplon, broke the home defense but, from the breakdown, Bekker was brought down an inch short of the line.
Noakes kicked two more penalties to extend the lead to 15-3 after 65 minutes and the Stormers had begun to look ragged. But de Villiers, in outstanding form, first calmed them and spurred their revival.
He scored in the 65th minute, just forcing his way across the line after a break by his midfield partner Juan de Jongh, then scored from his second try from his own solo break in the 77th minute.
That left the Stormers only a point behind and though they had several possessions in the last three minutes, and for all four minutes in stoppage time, they couldn't save the match.
Teams:Blues:
15 Charles Piutau, 14 Frank Halai, 13 Francis Saili, 12 Jackson Willison, 11 Rene Ranger, 10 Chris Noakes, 9 Piri Weepu, 8 Peter Saili, 7 Luke Braid, 6 Steven Luatua, 5 Ali Williams (captain), 4 Culum Retallick, 3 Angus Ta'avao, 2 Keven Mealamu, 1 Tom McCartney
Substitutes: 16 Quentin MacDonald, 17 Ofa Tu'ungafasi, 18 Anthony Boric, 19 Brendon O'Connor, 20 Jamison Gibson-Park, 21 Baden Kerr, 22 Lolagi Visinia
Stormers:
15. Joe Pietersen, 14. Gio Aplon, 13. Juan de Jongh, 12. Jean de Villiers (captain), 11. Bryan Habana, 10. Gary van Aswegen, 9. Dewaldt Duvenage, 8. Duane Vermeulen (vice-captain), 7. Rynhardt Elstadt, 6. Siya Kolisi, 5. Andries Bekker, 4. De Kock Steenkamp, 3. Frans Malherbe, 2. Deon Fourie, 1. Steven Kitshoff
Substitutes: 16. Scarra Ntubeni, 17. Pat Cilliers, 18. Eben Etzebeth, 19. Nizaam Carr, 20. Louis Schreuder, 21. Elton Jantjies, 22. Damian de Allende