ANAHEIM -- Jose Altuve extended his on-base streak to 32 games, collecting four hits and finishing a home run short of the cycle as the red-hot Astros beat the Angels, 10-4, to complete a three-game road sweep on Wednesday -- their second straight sweep of their American League West rivals in the last week.
"I feel proud of myself because I'm doing everything I can to help my team," Altuve said. "It's all about your team, it's all about going to the playoffs at the end of the season, and I think we're going the right way."
Altuve singled in the first inning, tripled in the third and doubled in the fifth as the Astros kept the offensive pressure going against Angels right-hander Jered Weaver. Altuve added another single in a three-run ninth as Houston poured it on. Weaver gave up a George Springer home run in the sixth and became the first Angels pitcher to give up 20 homers this season, allowing six runs in 5 1/3 innings. The Halos have now lost nine of their last 10 games.
"I don't think these guys are taking losing in stride, and that's a positive, but it has to be tempered with filtering out some of the frustration that could easily creep into a clubhouse or a dugout," Angels manager Mike Scioscia said. "Those guys seem like they're playing free and giving it everything they have, but the results aren't there."
Astros left-hander Dallas Keuchel gave up a pair of runs in the second inning on a Jett Bandy home run and a Kole Calhoun RBI triple, then settled down to retire 11 of the last 13 batters he faced. Keuchel finished with a quality start, giving up three runs (two earned) in six innings as Houston won for the 10th time in its last 11 games.
The Astros now head home for 10 games before the All-Star break with a chance to continue their run.
"We're playing well and it sets up pretty well for us," Astros manager A.J. Hinch said. "The day off tomorrow is much needed. We had a great road trip [5-1] and we go home with a lot of confidence. We're going to run into some tough pitching, I know, but we continue to do our thing and handle our business and we're getting the results we like. It's time to get back to Houston."
MOMENTS THAT MATTERED Altuve can't stop, won't stop: Altuve, who went 4-for-5 with four runs scored and extended his hitting streak to 11 games, has the longest on-base streak by an Astros player since Lance Berkman reached in 37 games in a row in the 2004 season. Wednesday marked Altuve's 12th game this season with at least three hits, and it's the second time in a week he finished a hit shy of the cycle. He's batting .431 (50-for-116) in the last 29 games.
"The story continues with him," Hinch said. "We continue to talk about him every single day and he continues to perform. Not much you can do to get in his way. He's had a remarkable run here." More >
Leaving friends behind: For the second consecutive game, the Angels struggled to drive home runners in scoring position. Their first three runs came on a solo homer and a pair of extra-base hits to drive runners home from first base. Twice -- once in the first inning and once in the seventh -- they loaded the bases, but weren't able to score a single run. They went 1-for-11 with runners in scoring position and left 12 runners on base, including six who were in scoring position.
Keuchel finds quality: This season has been a struggle for Keuchel, but the lefty has won consecutive starts for the first time in 2016. By allowing three runs in six innings Wednesday, he earned his third straight quality start -- and ninth in 17 outings -- and beat the Angels for the ninth time in his career, his most wins against any club.
"I felt good," he said. "The fastball had a lot of life on it, and it's just one of those days I was trying to figure out where I needed to start the fastball and it took me a little bit, but I got it under control an I finished strong."
Not so sharp: Angels shortstop Andrelton Simmons, typically known for his stellar defense, committed two errors that led to runs. In the third, he leaped to snag a Marwin Gonzalez liner for an impressive grab, but his throw to first for the double play hit off Springer and allowed him to advance and eventually score on Altuve's triple. Simmons had a Carlos Correa grounder go between his legs and allow two runs to score in the fifth as well, appealing that the ball had struck Altuve on the basepaths and changed the course of the ball. His appeal was denied, and the error stood. It was Simmons' first two-error game since Sept. 16, 2015, while he was with the Braves, and the fifth of his career.
"Something looked really strange," Scioscia said of Simmons' second error. "Andrelton was there and knows it hit [Altuve], and it did hit him, but I guess it wasn't noticeable to the umpires. It was tough to see from our vantage point, but obviously Andrelton had a great vantage point and he saw the ball. It's a tough call to make for an umpire."
"We are going to play better. We all believe it. The chemistry in that clubhouse is terrific. We know we've seen some guys performing at their absolute worst for this first half, and we know they're better than that. That's our goal, to get these guys playing better."-- Scioscia, on stopping his team's recent slide
SOUND SMART WITH YOUR FRIENDS
This is the first time the Astros have swept the same opponent twice in one season since joining the AL in 2013.
WHAT'S NEXT Astros: The Astros are off Thursday before opening a three-game series at 7:10 p.m. CT Friday against the White Sox at Minute Maid Park, with right-hander Mike Fiers (5-3, 4.41 ERA) taking the mound. Fiers gave up three runs and nine hits in 4 1/3 innings Saturday in Kansas City.
Angels: The Angels will have an off-day on Thursday, then travel to Boston for the first game of a three-game set on Friday. Right-hander Jhoulys Chacin (3-6, 5.64 ERA) hasn't gone more than 5 1/3 innings in a start since May 30, but he will take the ball in the opener. First pitch is scheduled for 4:10 p.m. PT.