PHOENIX -- Maybe it was the change in temperature that did it.

After losing three games to the Giants at AT&T Park where a cold damp wind made it seem like November instead of June, the Indians arrived in Phoenix on Monday night where it was 111 degrees outside and 82 degrees inside at Chase Field for the first pitch.

The heat wave may have been all it took to warm the bones of veteran Orlando Cabrera, who hit a two-out homer in the ninth inning off closer J.J. Putz to give the Indians a 5-4 victory over Arizona. Cabrera, who entered the game on a double-switch in the seventh, hit a 1-0 slider into the left-field seats with two out for the Indians' first win on this nine-game interleague trip.

"I know Manny (Acta) wanted to get me in there against Putz because I've got good numbers against him," said Cabrera, who is 6-for-12 against Putz (1-2) with two RBI. "I knew I hit it good, but that little corner down there (in front of the bullpen) scared me."

The homer was Cabrera's first extra-base hit off Putz.

The Indians' usually-reliable Vinnie Pestano started the eighth with a 4-3 lead. He gave up a pinch-hit single to gigantic Wily Mo Pena to start the inning. Kelly Johnson followed with a triple to right center to tie the game. Pestano retired Stephen Drew on a fly ball to left that was too shallow for Johnson to score.

After a visit from pitching coach Tim Belcher, Justin Upton was intentionally walked. Pestano struck out Chris Young and Rafael Perez (3-3), who earned the victory, relieved to punch out Miguel Montero to end the inning.

Chris Perez pitched the ninth for his 19th save in 20 chances despite giving up a leadoff single to Ryan Roberts. The save was Perez's 13th straight and his 28th in 29 attempts going back to last season.

"I hope this whole bullpen can make it to the All-Star Game," said Cabrera. "I know it can't happen, but these guys have been incredible."

Besides Cabrera and the bullpen, it was a big night for Lonnie Chisenhall. The rookie third baseman went 2-for-4 with an RBI in his big-league debut.

"I felt like an all-around baseball player tonight," said Chisenhall. "I got a couple of hits, drove in a run and made a couple of plays at third base."

The Indians scored twice in the sixth off Ian Kennedy to take the a 4-3 lead. Travis Buck, in a 17-for-76 slump, singled to tie the score. Chisenhall followed with a single to right for the lead.

It was Chisenhall's second hit and his first RBI. Chisenhall's first big-league hit came in the fifth, when he doubled past first base.

"It was a nice to see the kid get his first hit out of the way," said manager Manny Acta. "We feel he's going to hit up here."

Asdrubal Cabrera started the inning with a double. Carlos Santana followed with his 53rd walk. Buck's single to right delivered Cabrera. Chisenhall scored Santana and the Indians still had two outs to work with. But Lou Marson, with Buck at third, popped out to short. Travis Hafner, pinch-hitting for starter Mitch Talbot, struck out.

The Indians took a 2-0 lead in the first on Asdrubal Cabrera's two-run homer off Kennedy. Cord Phelps started the rally with a single to center. Cabrera followed by driving Kennedy's first pitch into the seats in left field. It was Cabrera's 13th homer and first since June 6.

Related stories

Cabrera started this season with 18 homers in his career.

The Diamondbacks quickly erased that lead as they took batting practice against Mitch Talbot. Johnson opened the first with a walk and scored on Drew's triple to center. Grady Sizemore tried to make a diving catch, but missed and the ball rolled into deep center.

Upton blooped a single down the right field line that fell just fair to make it 2-2. Young followed with an RBI triple for a 3-2 lead.

Talbot, seemingly in serious trouble, found whatever he was lacking against the first four Diamondbacks and retired three straight.

"I was having trouble with everything," said Talbot. "I felt like my timing was off. I was not in sync."

Following Sizemore's two-out single in the first, Kennedy retired 10 straight before Chisenhall's double broke the spell to start the fifth.

Talbot, like Kennedy, found himself after the first and worked four scoreless innings. He did not allow another hit after the first and retired the last 10 batters he faced. He walked two and struck out two in 71 pitches.

"I told Talbot after the game, "That's life in the National League,'" said Acta, referring to his quick hook. "If Marson had gotten a run home in the sixth, I would have sent Mitch out there with a two-run lead, but it was too good of an opportunity for Hafner not to use him."

Kennedy allowed four runs on eight hits in eight innings. He struck out eight and walked four.

The Indians missed a great scoring chance in the fifth. Chisenhall opened the inning with a double and Marson blooped a single into center. Talbot advanced the runners with a sacrifice bunt, but Kennedy struck out Michael Brantley and retired Phelps on a fly ball to right.

On Twitter: @hoynsie

For more Cinesport video on cleveland.com, go here.