"Sometimes you've got to give the other side credit," manager Tony La Russa said.
Perez, however, said, "I missed my spot. I tried to jam him in."
But the offense was at fault, too. Only starting pitcher Kyle Lohse, who twirled six shutout innings, was able to get a hit with a man in scoring position. Lohse, who was 2-for-2, doubled home a run in the sixth. The position players were 0-for-9 with men in scoring position,
Wasted was the pitching by Lohse (13-6), who didn't win for the sixth consecutive time after starting off 13-3. He fanned seven.
"I had everything going well for me," he said. "The last couple of games I'd been making a mistake that would cost us two or three runs. Today I was able to stay away from that."
Also overshadowed was the brilliant major league debut of right-handed reliever Jason Motte, who threw as high as 99 mph as he worked 1 1/3 scoreless innings in the seventh and eighth.
Motte threw 22 strikes out of 25 pitches.
Troy Glaus' second homer in two days was the 300th of his career. Glaus accounted for the first two Cardinals runs in the third inning.
When the Cardinals left St. Louis for a six-game trip, they were 3-1/2 games out of a wild-card spot. But, after going 1-5, they are 5-1/2 behind wild-card-leading Milwaukee with just 22 games remaining.
DIAMONDBACKS 4, CARDINALS 3: The Cardinals lost for the 13th time when leading after seven innings and for the fifth time when leading after eight, as rookie RHP Chris Perez experienced his first hiccup since coming back from Class AAA Memphis. Perez, trying to protect a 3-2 lead, allowed a leadoff triple by SS Stephen Drew in the ninth, and then, after getting a short fly-out, allowed a run-scoring single by LF Conor Jackson and a game-ending double by RF Adam Dunn.
NOTES AND QUOTES:
--INF/OF Felipe Lopez had two hits, extending his hitting streak to 11 games. But C Yadier Molina's streak was stopped at 13 in an 0-for-4 day.
--A key play came in the seventh inning when LHP Ron Villone threw a wild pitch with two out and Adam Dunn at bat, allowing Arizona's second run to score. Villone relieved RHP Kyle McClellan, who was charged with two runs in the seventh in his second consecutive poor outing in this three-game series. "(McClellan's) confidence is down a little bit," manager Tony La Russa said.
--By going 1-5 on their trip, the Cardinals dropped to 38-34 on the road with one nine-game trip remaining.
--RF Ryan Ludwick went hitless in four at-bats and completed a 3-for 22 road swing.
--Pitching coach Dave Duncan was ejected in the seventh inning while visiting McClellan at the mound. When umpire Dale Scott arrived to break up the discussion, Duncan had some commentary for Scott about a walk to Arizona PH Miguel Montero.
BY THE NUMBERS: 97 -- Games pitched over two seasons by RHP Russ Springer without suffering a defeat before he took the loss Aug. 29 at Houston.
QUOTE TO NOTE: "It's one pitch here or there that's costing me, costing the team." -- RHP Kyle Lohse, winless in five starts, after giving up a game-tying homer to Houston 2B David Newhan.