MIAMI — Michael Bourn had three of Cleveland's six stolen bases and scored three times to help the Indians earn their ninth victory in the past 10 games with a 4-3 win over the Miami Marlins on Saturday night.

Jason Kipnis' two-run single broke a 2-all tie in a wild seventh inning, when the Marlins narrowly missed three chances to throw out Indians on the bases. Steals led to all four runs for the Indians, whose stolen-base total was their highest since 2000.

Kipnis had three hits and drove in three runs.

Cleveland's Zach McAllister took a no-hitter into the sixth but failed to make it through that inning. Cody Allen (5-1) threw 1 2-3 scoreless innings.

Chris Perez survived a harrowing ninth for his 16th save in 18 chances. After pinch-hitter Greg Dobbs singled home a run to make it 4-3, the Marlins had runners at second and third with one out, but Perez retired Rob Brantly and Placido Polanco for the victory.

Miami's Jacob Turner allowed six hits and two runs in six innings. He's winless in his past four starts despite an ERA of 3.47.

McAllister allowed three hits and two runs in 5 1-3 innings.

With the score 2-all, the Marlins had Drew Stubbs picked off first base in the seventh inning, but he was safe at second when first baseman Logan Morrison made a wild throw there. Following a walk, Stubbs was barely safe at third on the front end of a double steal, and another walk loaded the bases against Dan Jennings (1-2).

Kipnis then lined a two-run single, with Bourn scoring from second when his slide home just beat a strong throw by center fielder Jake Marisnick. Miami manager Mike Redmond ran onto the field to complain about the calls at third and home, but TV replays showed the umpires were correct both times.

Miami's first hit came on McAllister's 86th pitch, when Brantly singled to start the sixth. He scored on a double by Christian Yelich, and Ed Lucas followed with an RBI single to make the score 2-all and end McAllister's night. Adeiny Hechavarria lined out to center against Allen with the bases loaded to end the inning.

Bourn led off the game with a single, stole second and came home on a single by Kipnis.

Bourn's speed produced another run in the third. He beat out a grounder to shortstop for an infield hit, stole second, advanced on a wild pitch and continued home when catcher Brantly made an errant throw to third.

Kipnis tried to score from first when Asdrubal Cabrera's two-out single rolled away from Marisnick, but the rookie outfielder scrambled after the ball, then threw a one-hop strike to the plate for the out.

Notes: Miami's Giancarlo Stanton is batting .191 with runners in scoring position. ... The Marlins haven't given up a homer in 11 consecutive games, a team record. ... Indians 1B Mark Reynolds turned 30 Saturday. ... More than a dozen members of the 2003 World Series champion Marlins are expected Sunday to celebrate the team's 10-year anniversary.