ST. PETERSBURG, Fla. - Carlos Carrasco was one strike away from throwing Cleveland's first no-hitter in 34 years and already considering ways to celebrate.

A bit prematurely it turned out.

The right-hander gave up an RBI single to Joey Butler over leaping second baseman Jason Kipnis' glove in an 8-1 victory over the Tampa Bay Rays.

"It's part of the game. I was excited. ... I started thinking about what I needed to do, throw my glove in the air or something," Carrasco said. "It was great. I almost made it."

For the third straight night, the Indians took a perfect game into the sixth inning against the Rays. This time, Carrasco retired the first 19 batters before walking Butler with one out in the seventh.

Washington's Max Scherzer lost a perfect game with one strike to go on June 20, but he finished with a no-hitter, the second in the major leagues this season.

Carrasco walked Asdrubal Cabrera leading off the ninth, then struck pinch-hitter Brandon Guyer with a pitch. Grady Sizemore, also pinch hitting, grounded into a force play and Kevin Kiermaier struck out to bring Butler to the plate with a crowd of 11,394 at Tropicana Field on its feet.

Butler lined an 0-2 slider over the 5-foot-11 Kipnis, who jumped high in the air to make an attempt at catching the ball and fell flat to the ground as the line drive landed cleanly in the outfield.

"If Kip was 6-6, maybe (he'd have caught it)," Indians manager Terry Francona said.

"He left me a pitch to hit and I did what I could with it," Butler, a 29-year-old rookie who was in a 2-for-19 tailspin before that at-bat. "It's pretty discouraging when you get no-hit. But now it kind of just looks like another loss instead of getting no-hit for a full game."

Carrasco smiled, clapped into his glove several times and pointed at the second baseman in appreciation of his effort.

The 28-year-old right-hander was lifted after his career-high 124th pitch and Austin Adams got the final out. Carrasco received pats on the back and hugs in the dugout after his 13 strikeout performance.

"I just started laughing," said Carrasco, who has a home in nearby Tarpon Springs, Florida, and estimated he had about 25 family members and friends at the game. "I don't know, That was my reaction."

The last Indians' pitcher to throw a no-hitter was Len Barker, who had a perfect game against Toronto on May 15, 1981.

For the third straight night and fourth time in seven games, the light-hitting Rays failed to get a baserunner until after the fifth inning.

Toronto's Marco Estrada took a perfect game into the eighth inning before Logan Forsythe broke up the bid with an infield single a week ago. Sizemore broke up Cody Anderson's pursuit of perfection with a seventh-inning home run Monday, and Curt Casali doubled for the first hit off Cleveland's Danny Salazar in the sixth on Tuesday night.

"I think you saw from the start he had incredible stuff going and when you're running into a lineup that's been scuffling a little bit, those things have a chance of happening," Tampa Bay manager Kevin Cash said. "It was nice to get the hit, the run, all of the above, in the last inning."

Facing the Rays less than two weeks after yielding 10 hits over 6 2-3 innings of a 4-1 loss to Tampa Bay, Carrasco breezed into the seventh.

After walking Butler, Evan Longoria hit a sharp grounder to first baseman Carlos Santana, who stepped on the bag and tagged Butler out in a rundown between first and second.

Brandon Moss homered and drove in five runs for the Indians. He had a two-run double off Alex Colome (3-4) in the second and a three-run homer off C.J. Riefenhauser in the eighth. Jason Kipnis, Michael Brantley and David Murphy also drove in runs for Cleveland.

TRAINER'S ROOM

Indians: Manager Francona said there is no timetable for when OF Nick Swisher (knee) could return. Swisher is running in the outfield.

Rays: RHP Jake Odorizzi (oblique) gave up one run over four innings in a rehab start for Class A Charlotte. ... 1B James Loney (broken left middle finger) had two hits for Charlotte and appears close to returning.

UP NEXT

Indians: 2014 AL Cy Young Award winner Corey Kluber (3-9) will start Thursday's series finale. He is 1-5 with a 4.00 ERA in nine road starts.

Rays: 2013 AL All-Star Matt Moore will make his first start since elbow ligament replacement surgery last year on Thursday. The left-hander hasn't pitched in the majors since April 7, 2013 at Kansas City. "I'm anxious, I'm excited," Moore said. "I feel ready."