ANAHEIM, Calif. (AP) — Matt Shoemaker became a 16-game winner seemingly out of nowhere for the Los Angeles Angels last season.

Now that opponents know all about the right-hander behind that heavy beard, they're finding him much easier to hit.

Chris Carter and Colby Rasmus hit two-run homers and Dallas Keuchel pitched into the seventh inning of the Houston Astros' 6-5 victory Saturday night.

Jose Altuve also hit an early homer off Shoemaker (2-3) for the AL West-leading Astros, who hung on for just their second victory in six games following their 10-game winning streak.

Houston wasn't safe until Chad Qualls got Albert Pujols to ground into a forceout with two runners on in the ninth. The Angels were thrown into a big early hole by the latest poor start from Shoemaker, who gave up six hits and six runs in three innings. He has yielded 10 homers in his 31 innings this season.

"It's very discouraging, but you've got to keep your mind at an even keel," Shoemaker said. "I've experienced something like this coming up through the minors, but not here. It would be nice to put a bunch of starts together where you're pitching well."

After Shoemaker gave up three homers in his final two innings last Monday against Seattle, he was touched for a solo shot in the first by Altuve. Carter then connected in the second inning, and Rasmus followed with his sixth homer in the third.

Shoemaker didn't come out for the fourth inning, and the Angels must decide what to do with a starter who has yielded at least three runs in every start this year.

"I'm just in one of those holes right now, and I've got to find a way out of it and turn it around," Shoemaker said. "I felt OK. I was just missing some spots. It's a pretty big struggle right now. I thought I was going to go out there today and do really well. Unfortunately, it didn't happen."

Mike Trout homered and had three hits for the Angels, but was intentionally walked after Kole Calhoun's two-out RBI double in the ninth. Pujols grounded to shortstop, completing Qualls' third save and ending his 11-game hitting streak.

"With this lineup, I don't care how many runs we're behind," Angels second baseman Johnny Giavotella said. "We still feel like we have a chance to win. We have a lot of perseverance on this team, and we play hard baseball."

Houston manager A.J. Hinch didn't hesitate to put the winning run on base to face a slugger with 525 career homers.

"Trout is one of the most dangerous hitters in the game, so I'm going to be very careful," Hinch said.

Erick Aybar drove in two runs for the Angels, who got six innings of no-hit work by their bullpen.

Keuchel (4-0) didn't look exactly like the AL's pitcher of the month for April, but the left-hander remained unbeaten while his ERA rose from 0.80 to 1.39. He gave up eight hits and four runs while striking out seven and winning his sixth consecutive decision dating to last season.

Trout hit his ninth homer of the season in the fifth, sending it far beyond the fence in center field.

HEATING UP

Perez hit his first career RBI double and has five hits in his first 14 major league at-bats after his recall from the minors Monday. The rookie from Venezuela has thrown out a runner stealing in consecutive games. He already has more RBIs in his first four major league games than veteran starter Chris Iannetta has in 22.

TRAINER'S ROOM

Astros: Qualls took over while closer Luke Gregerson is away from the team on the family emergency medical list.

Angels: Manager Mike Scioscia said he won't alter his rotation with two days off next week, but Shoemaker's struggles certainly could tempt the Angels to skip his next start.

UP NEXT:

Astros: Scott Feldman (2-3, 5.50) tries to bounce back from a poor start in the series finale.

Angels: Garrett Richards (2-1, 2.52) has been mostly outstanding in four starts since his return from knee surgery last August.