ST. PETERSBURG, Fla. (AP) -- Zach McAllister took a line drive to the forearm and kept right on pitching.
The Cleveland right-hander shrugged off the scary moment to finish six solid innings Monday night, and the Indians held on to beat the Tampa Bay Rays 3-2.
McAllister (4-1) said he was not affected by being struck by Jeff Keppinger's RBI single in the fourth inning. Unfazed, he remained in the game to retire the next six batters and eight of the last nine he faced overall after struggling early.
''This whole game was a battle for me,'' McAllister said. ''I had a good mix (of pitches). I wouldn't say anything was great, but I was able to mix pretty well.''
Shin-Soo Choo had an RBI double in the third after he had what initially was ruled a home run overturned by instant replay in the first for Cleveland.
The umpires huddled after Rays center fielder B.J. Upton signaled that the ball hit high off the wall instead of clearing it and bouncing back onto the field. Choo was sent back to second base and eventually scored on a passed ball that gave the Indians an early lead on Alex Cobb (4-6).
Choo scored again in the third when Jason Kipnis doubled to make it 3-0. The Indians squandered several chances to break the game open, going 2 for 12 with runners in scoring position.
''We had a lot of opportunities to score runs, we know that. Wasn't very good night executing offensively, but we won the ballgame,'' Cleveland manager Manny Acta said. ''These guys have been able to win close ballgames the whole year. They'll fight, they'll fight and fight. Tonight it was the case when it looked like it was going to be one of those games that at the end was going to bite you.''
McAllister allowed one run and three hits before being replaced by Esmil Rogers, who yielded a first-pitch home run to Desmond Jennings leading off the seventh. A pair of two-out walks put the potential tying run in scoring position before the third Indians pitcher of the inning, Vinnie Pestano, came on to strike out Ben Zobrist.
Pestano fanned pinch-hitter Brooks Conrad to escape another jam with two men on in the eighth. Chris Perez worked a perfect ninth, earning his 26th save in 28 opportunities.
The loss was the 12th in 18 games for the Rays, who continue to struggle offensively. They've been held to four runs or less 15 times during that stretch.
''Every game that you lose is frustrating. But mentally you've got to choose to ... look at the positives,'' said designated hitter Luke Scott, who had two hits and a stolen base. ''You've got to look at how we battled.''
Tampa Bay manager Joe Maddon agreed.
''Honestly, I'm not frustrated. The effort was great. A lot of the things we've been working on, we did well,'' Maddon said. ''There's a lot of good stuff that happened. We just have to be a little more consistent in getting that hit, that run. But we played a pretty good game of baseball. When we play well and lose, I go home and I'm fine.''
Pitching on seven days' rest, McAllister made his second consecutive start against the Rays. He retired 13 of the first 14 batters he faced against them at home on July 8, but wound up allowing four runs and four hits over 5 2/3 innings and was not involved in the decision of a 7-6 loss.
The 24-year-old right-hander walked three and needed 41 pitches to get through the first two innings this time. He held the Rays hitless until B.J. Upton singled, leading off the fourth. Scott followed with a single and Keppinger drove in Tampa Bay's first run when he lined a pitch that struck McAllister on his follow-through.
Cleveland's trainer examined the spot where McAllister said he was hit, and the pitcher remained in the game. He avoided further damage in the inning when Jennings bounced into a double play and Jose Molina grounded out.
''McAllister started the game a little shaky. Was nibbling a lot,'' Acta said. ''Then he got into a very good groove. Terrific recovery after the way he had started. And then after he got hit by the line drive right outside his elbow, we were a little worried about that, but he did a terrific job after that and gave us six good innings.''
Notes: Cobb allowed three runs and five hits over 3 1/3 innings. ... The Indians said OF Trevor Crowe was released from Triple-A Columbus. ... Tampa Bay OF Matt Joyce, on the disabled list since June 22 with a left external oblique strain, could be nearing the end of a rehab assignment with Single-A Charlotte. He will be re-evaluated Tuesday and could rejoin the Rays before the end of this four-game series. ... Maddon said 3B Evan Longoria (partially torn left hamstring) may travel with the team to continue workouts during a road trip that begins next Tuesday at Baltimore.