Cruz shut down the San Francisco Giants into the eighth during the longest outing of his career, pitching Arizona to a 5-1 win.
"It was very much needed, especially after a night like last night where we had to use two or three guys out of the bullpen to eat some innings," catcher Chris Snyder said.
Orlando Hudson scored twice and drove in a run for the Diamondbacks, who moved within 1½ games of first-place San Diego in the NL West. Arizona also stayed one game behind Cincinnati and Los Angeles in the wild-card race.
"We swung the bats well and threw the ball well, too," Hudson said.
Cruz became the first Arizona starter to work into the eighth since Brandon Webb on July 20 against the Dodgers.
"I just got everything for a strike tonight," Cruz said. "Everything was working good. This game is all about location. If you've got location you can get outs."
Cruz's outing might complicate matters for Arizona manager Bob Melvin, who has to slide newly acquired Livan Hernandez into the rotation.
And if Cruz is asked to move out of the rotation and into the bullpen?
"I go to the bullpen," Cruz said. "Why not?"
Carlos Quentin and Stephen Drew each had two hits and an RBI for Arizona.
Randy Winn homered for the slumping Giants, who have lost four of six and 12 of 15.
Barry Bonds was 0-for-3 with a walk, including a deflected double-play grounder in the sixth when he lumbered half-speed down the first-base line.
Arizona jumped out to a 3-0 lead in the first against Jamey Wright (6-10). Eric Byrnes led off with a triple and scored on a single by Hudson. Wright walked Luis Gonzalez and retired Chad Tracy on a grounder before Shawn Green hit an RBI groundout to make it 2-0.
Quentin then singled to drive home Gonzalez with Arizona's third run.
The Giants pulled to 3-1 on Winn's one-out homer in the third.
The Diamondbacks answered with a pair of runs in the fifth. Hudson hit a leadoff triple and Gonzalez lined a pitch off Wright's right thigh. Gonzalez was thrown out by third baseman Pedro Feliz, but Hudson scored for a 4-1 lead.
Tracy followed with a single and scored on Drew's two-out single to right.
Wright allowed five runs and 10 hits in five innings for his seventh loss in eight decisions.
"It's my job to go out there and put up zeros," Wright said. "I put us in a 3-0 hole right from the get-go."
San Francisco squandered a scoring opportunity in the second when Feliz was thrown out easily at home trying to score on Eliezer Alfonzo's double to the warning track in right.
"Some of the intangible stuff we haven't been doing as well of late," Melvin said. "All of those things play into the outcome of the game. It was good to see we made some big plays."
- Arizona's Alberto Callaspo got his first major league hit, a pinch-hit double in the eighth.
- Hudson's seven triples match his career high set in 2004 with Toronto.
- Arizona 1B Conor Jackson, who left Monday's game with a bruised forearm after he was hit by a pitch, did not start and remains day-to-day.
- The Giants have seven home runs in their last two games.
- Winn has hit safely in 12 of his last 15 games. His homer was his first since June 27 against Texas, a span of 125 at-bats.