HOUSTON — Lance McCullers finally found his curveball — and the results were devastating for the Cleveland Indians.

McCullers allowed one hit over seven innings and Brian McCann hit a two-run homer to lead the Houston Astros to a 3-1 win Sunday night.

McCullers (6-2) took a perfect game into the sixth inning, retiring the first 15 batters he faced with six strikeouts, two ground balls and seven fly balls. One of the flyouts came in the first inning when Astros left fielder Tony Kemp chased down a ball near the foul line and made a leaping grab at the wall.

Jason Kipnis led off the sixth inning with a line-drive single to right centre on a 2-2 count, but the Indians were unable to get much else going against McCullers. He had previously struggled with the location of his curve and has been forced to lean heavily on his fastball and changeup. Everything fell into place against the Indians.

"I had the curveball working," McCullers said. "In the second inning, I had a couple of strikeouts on it, which was good to see. I haven't really been able to put it where I wanted to with two strikes, but tonight, I didn't really miss too often with it. Hopefully, it continues to be good for me going forward."

McCullers walked two and struck out eight on 96 pitches, completing seven innings for the fourth time in his last seven starts. He has allowed two hits or fewer in three of those starts during this stretch.

"He got outs on all of his pitches, he kept them off-balance, pounded the zone and he's got some of the best stuff in baseball," McCann said. "When he's filling up the strike zone, he's tough to hit."

Ken Giles earned his eighth save of the season.

With the game still scoreless in the seventh inning, McCann sent the ball over the Astros' bullpen in right-centre field off an 87 mph changeup from Indians starter Carlos Carrasco (5-3). The homer brought home Yuli Gurriel, who had led off the inning with a single.

The defending champion Astros had recently struggled against Cleveland, entering Sunday as losers of six of their previous seven meetings.

Carrasco matched McCullers' seven innings, but allowed six hits and two runs while striking out six and walking one.

"I thought he was terrific, my goodness," Indians manager Terry Francona said. "Left a changeup just up enough and McCann took a really good swing. Other than that, he pitched his way out of a couple of jams but when we're not scoring like that it makes it even harder."

Josh Reddick pushed Houston's lead to 3-0 with a ground-rule double to centre off Tyler Olson that scored Alex Bregman. Reddick returned from a two-game absence with a leg infection.

The Indians scored their only run on a fielder's choice grounder by Edwin Encarnacion that scored Michael Brantley, who led off the inning with a double.

Cleveland outfielder Melky Cabrera, who was called up from Triple-A Columbus on Sunday, played right field and batted sixth. Cabrera went 0 for 3 in his Indians debut, including lining out to right field to strand two runners in the seventh.

Cleveland fell to 22-23 and has spent much of the young season lingering around the .500 mark.

"When this team can get over that hump, we still know we're one of the best teams in the American League," Kipnis said. "We're still a contender with a very big run in us. I think we have started the last couple of years around this same record early on. You know how we do since (Francona's) been here, our second-half records are usually one of the best in the league. I think that's where we pick up our steam and hit our strides."

TRAINER'S ROOM

Indians: LHP Andrew Miller (back tightness) threw a bullpen session and received treatment before Sunday's game and said he felt fine. Miller, who recently returned from a three-week absence with a hamstring strain, was unavailable to pitch on Saturday because of the lingering back discomfort. Francona said after the game Miller would have been available if the Indians had tied the game or taken the lead late.

Astros: OF Derek Fisher has been sent to the 10-day disabled list with gastrointestinal discomfort that has limited his food intake and caused noticeable weight loss in recent days, manager A.J. Hinch said. Fisher played with discomfort on Friday against Cleveland and will see a specialist Monday. To replace Fisher, the Astros recalled IF J.D. Davis, who leads Triple-A with a .415 batting average at Fresno.

ASTROS' PITCHING

The Astros have allowed just 123 runs in 48 games this season. The only other pitching staff in the live-ball era (since 1920) to post a run total this low through the first 48 games of a season was the 1968 Cleveland Indians (112 runs).

UP NEXT

Indians: Trevor Bauer (3-3, 2.59 ERA) will open a two-game set at Wrigley Field on Tuesday hoping to build on his last start, where he tossed eight shutout innings, allowing four hits and striking out 10 on May 16 at Detroit.

Astros: Gerrit Cole (4-1, 1.75 ERA) will face the Giants in the first half of a two-game series in Houston on Tuesday. Cole leads the AL in strikeouts with 93 in 61 2/3 innings and ranks second in both opponent batting average (.166) and ERA.

___

More AP baseball: https://apnews.com/tag/MLBbaseball