Orlando Cabrera homered off closer J.J. Putz with two outs in the ninth inning to give Cleveland a 5-4 victory over the Arizona Diamondbacks on Monday night, snapping the Indians' three-game skid.

Cabrera, who entered the game in the seventh inning in a double switch, just cleared the fence in left field after Arizona had tied it on Kelly Johnson's RBI triple in the eighth. Lonnie Chisenhall, considered the Indians' top minor league prospect, doubled, then singled in a run in his major league debut.

Putz (4-3) got Chisenhall and Lou Marson to fly out before giving up the home run on a 1-0 pitch. Rafael Perez (3-1) struck out the only batter he faced in the eighth to get the victory. Chris Perez threw a scoreless ninth for his 19th save in 20 opportunities.

Asdrubal Cabrera hit a two-run homer for Cleveland.

Ryan Roberts led off the Arizona ninth with a single and moved to second on Willie Bloomquist's sacrifice bunt. But Xavier Nady and pinch-hitter Melvin Mora popped out to send Arizona to its third straight loss.

Sixteen Diamondbacks had been retired in a row before Wily Mo Pena's pinch-hit single off Vinnie Pestano to start the eighth. Johnson failed twice to get down a sacrifice bunt, then after running the count to 3-2 he tripled off the swimming-pool fence in right field to bring home Pena and tie the game at 4.

Johnson was stranded, though, when Stephen Drew popped out, Justin Upton was walked intentionally, then Chris Young and Miguel Montero struck out.

Ian Kennedy went eight innings for Arizona, allowing four runs on eight hits, striking out eight and walking one. Mitch Talbot, still seeking his first victory since May 31, allowed three runs and three hits in five innings.

Cleveland scored more runs in one game than it had while being swept in three at San Francisco over the weekend.

The Indians remained a game behind first-place Detroit in the AL Central. Arizona fell two games back of idle San Francisco in the NL West.

Cleveland trailed 3-2 through five but got two in the sixth on RBI singles by Travis Buck and Chisenhall.

Asdrubal Cabrera's 13th home run of the season, on the first pitch he saw from Kennedy, put Cleveland up 2-0 in the first.

The Diamondbacks responded with three in their half. Johnson led off with a walk, then scored when Drew tripled past a diving Grady Sizemore in center field. Upton followed with an RBI single, then Young doubled to put runners at second and third. Upton came home when Montero grounded out and Arizona led 3-2.

NOTES: Cleveland OF Shin-Soo Choo had his broken left thumb examined and manager Manny Acta said he expected word by Tuesday on whether surgery would be required. ... Drew has five triples this season and 51 for his career. ... The three-game series against Cleveland are the only home games in a span of 19 for Arizona leading up to the All-Star game, to be played in Phoenix on July 12. ... The Indians' Josh Tomlin and Arizona's Daniel Hudson both go for their 10th win on Tuesday night.