Haren (10-5) allowed just one run over eight innings of work to lower his Major League-best ERA to 1.96.
"He's the best pitcher in the Major Leagues right now," Arizona catcher Miguel Montero said. "He makes my job easy."
Montero, who took over the catching position when Chris Snyder went on the DL last month, did his part to lighten the load for Haren as he matched a career high with four hits in the game while driving in a pair of runs.
"He's done well," D-backs manager A.J. Hinch said. "He's settled in nicely in the middle of our order and is producing. We've always liked his bat and his energy, and to see him on the field and really take a leadership role has been good to see."
The night, though, belonged to Haren, who logged his 18th quality start in 19 outings this year. The right-hander allowed four hits and two walks while striking out eight.
"That's as good as anybody has pitched against us this year," Cards manager Tony La Russa said. "I mean his location was outstanding. Good stuff, good assortment. I think anything else that wants to be said about him, let them talk about. They will enjoy it more than I will. But I tip my cap off to him. We've had a lot of great pitching against us, and that's as good or better than most of them. That's enough."
Haren faced off four times with St. Louis slugger Albert Pujols and wound up retiring him twice, walking him once and allowing an RBI single.
In his walk to Pujols in the first inning, Haren missed with a couple of close pitches. After the walk he seemed visibly frustrated on the mound, and when the inning was over he paced in the dugout.
"He was pretty frustrated after the first inning," Hinch said. "He knows he has to stay in that game and he's going to have to work hard to get through eight or nine innings, so I was glad that he collected himself and continued to be very effective."
Pujols drove in the game's first run in the third when he grounded a single through the hole at short to score Brendan Ryan.
The D-backs tied the game in the fourth, and Montero's solo homer in the sixth gave Arizona a 2-1 advantage.
Meanwhile, Haren retired 14 straight batters after Pujols' hit and in the process got the slugger to whiff in the sixth.
"He never stayed in the same pattern, he never stayed in the same part of the strike zone, and it's two dominant people going up one-on-one," Hinch said of the Haren-Pujols matchup. "And Danny won most of the battles. It's funny when you face a guy like Pujols how 1-for-4 feels like a victory."
"It kind of reminds me of when I was facing [Barry] Bonds when I was in Oakland," Haren said. "It's like impossible to get him out. The first at-bat I just walked him, the second at-bat I tried everything, really. There's no one way to get him out. He's too good."
On this night, though, it was Haren who was too good as the pitcher even contributed at the plate, drawing a bases-loaded walk in the eighth.
Adam Wainwright (10-6) took the loss despite allowing just two runs over seven innings.
"Not good enough," Wainwright said of his performance. "We lost the game. But I was pitching against another really, really good pitcher. Anytime you give up two runs against a guy like that, you might be in trouble."
Steve Gilbert is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.