Pittsburgh's starter lasted one inning. The closer wasn't available. The road trip, a disaster to that point.

With a little grit, good pitching from the bullpen and clutch hitting, the Pirates pulled out a victory that could be a big confidence booster before they head back home.

"Just duct tape, chicken wire and scrapped for eight innings and get it done," Pittsburgh manager Clint Hurdle said after the Pirates' 5-4 win over the Arizona Diamondbacks Tuesday night.

With one win in seven road games and three on the season overall, the Pirates were facing stiff odds against the Diamondbacks and ace Ian Kennedy.

They went into the game without closer Joel Hanrahan after he tweaked his hamstring the last time out. Starter Jeff Karstens was gone after one inning due to right shoulder inflammation.

Pittsburgh didn't buckle, though, roughing up Kennedy early, scoring four of its runs with two outs and getting eight solid, pieced-together innings from the bullpen.

Garrett Jones hit a solo homer off Kennedy in the sixth inning and drove in three runs. Andrew McCutchen had the final of Pittsburgh's two-out hits, lining a run-scoring single off Bryan Shaw (0-2) in the ninth inning.

Jason Grilli (1-1) gave up a solo homer to John McDonald in the eighth inning, but picked up the win. Juan Cruz, Pittsburgh's sixth pitcher of the night, picked up his first save since 2009 by working a perfect ninth.

"We put some runs on the board, scratched and clawed," said Pirates reliever Tony Watson, who pitched 2 1-3 scoreless innings. "The final result's all that matters and we won."

The Diamondbacks played without right fielder Justin Upton due to a sore thumb and lost center fielder Chris Young in the fourth inning to a right shoulder injury after a hard crash into the wall.

Upton has been bothered by a left thumb injury since jamming it into a base against the Giants on April 8. He played Monday against the Pirates, but was out of the lineup for the second game of the series after having his thumb drained.

Young, the Diamondbacks' leading hitter at .405 with five homers and 13 RBIs, was injured while tracking down a fly ball by Pedro Alvarez in left-center in the fourth.

Young leaped to catch the ball and slammed into the wall shoulder-first, falling in a heap onto the warning track. He lay there for several minutes as team medical personnel attended to him and gingerly walked to the dugout after being helped up. The team said Young will have an MRI on Wednesday.

"I didn't think I was going to hit the wall," Young said. "As I was going down, I hit my shoulder. It got tight on me. It is a little tighter now — I can't lift it."

Kennedy was expected to have an easy night against the light-hitting Pirates.

A 21-game winner who finished fourth in the 2011 NL Cy Young voting, the right-hander entered the game with an eight-game winning streak that dated to last year, including his first two starts this season.

The Pirates came in as baseball's worst-hitting team at .188 and trotted out a lineup that had six players under .200.

Of course they got to Kennedy early.

McCutchen got it started with a two-out single in the first inning and came in two batters later, when Jones lined a run-scoring single to left-center.

Kennedy continued to scuffle after that.

Pittsburgh put together another two-out rally in the third inning against him, tying it at 3-all on Neil Walker's run-scoring single and an RBI double by Jones.

Jones gave the Pirates the lead in the sixth, hitting Kennedy's first pitch out to the pool deck in right-center.

Kennedy didn't come out for the seventh after allowing four runs on eight hits.

"All my command, off-speed was terrible, changeup was terrible, pretty much one of those days," said Kennedy, who had allowed four earned runs his first two starts combined. "You know in the first inning that it is pretty much going to be a long day."

McDonald got Kennedy off the hook for the loss with his solo homer off Grilli in the eighth, his first with the Diamondbacks.

The Pirates answered in the ninth with their final act of clutch hitting.

Pittsburgh leadoff hitter Alex Presley got it started by legging out an infield single that went off Shaw's glove, then took third on pinch hitter Casey McGehee's single the next at-bat. McCutchen fought off a couple of good pitches from Shaw and put Pittsburgh ahead with a looping single that fell just in front of Willie Bloomquist in left for his fourth hit to easily score Presley.

"We had better at-bats across the board from a lot of guys," Hurdle said. "Really battling and grinding on offense tonight. Just one more run than them."

Notes: Arizona had a rare 9-6 putout for a fielder's choice in the eighth inning when Walker was thrown out at second by Kubel on Jones' floater to right. ... Kevin Durant of the NBA's Oklahoma City Thunder attended the game. The Thunder play the Phoenix Suns Wednesday night. ... Arizona RHP Daniel Hudson will start in the series finale against Pittsburgh on Wednesday after opening the season 1-0 despite allowing 10 earned runs over 10 1-3 innings in two starts. ... RHP Jason McDonald will start for the Pirates against Hudson. He lost 5-0 in his last start, when San Francisco's Matt Cain tossed a 1-hitter.