The win pushed Oakland's record against the Astros to 9-0 this year, outscoring them 68-31 in the process. The good news is the Astros won't see the A's again until July 22-24.
"Sometimes somebody is going to kick your butt and you're going to kick their butt," Astros pitcher Dallas Keuchel said. "They've got our number right now and we've got to do something about it. They're a great team, but we can't give them too much credit. We just have to play better."
Astros designated hitter Jason Castro continued his red-hot surge, going a career-high 4-for-4 with four singles to finish the series 10-for-12. He is the first Astros player with at least three hits in three consecutive games since Ty Wigginton on Aug. 15-17, 2008.
"It feels like I'm been getting some pretty good pitches to hit and the main thing is I'm not trying to do too much right now," Castro said. "That's kind of where I've been at, and I feel like when I try to do too much, that's when I get myself out. I'm trying to put the good part of the bat on the ball and be smooth and easy and stay within myself."
Colon, who turned 40 on Friday, improved to 3-0 with a 1.89 ERA in three starts against the Astros this season by holding Houston scoreless for seven innings. He allowed nine hits -- all singles -- and didn't walk a batter while striking out nine.
"He knows how to make a pitch when he needs to," A's manager Bob Melvin said. "I thought his stuff was as good today as we've seen all year."
Colon threw 71 of his 96 pitches for strikes with a steady diet of fastballs he kept around the zone while changing speeds masterfully.
"He's a veteran guy with really good command who understands exactly what he's doing," Astros manager Bo Porter said. "He knows how to plus and minus his fastball so he gets you front to back as far as speeds go. So when you think you're going to get the 90-mph fastball, he reaches back and gives you a little bit more."
Keuchel worked six innings and allowed six runs -- four earned -- and nine hits in six innings and had a solid body of work outside of the fourth inning.
That's when the A's sent nine batters to the plate and scored five runs, two of which were unearned thanks to a Jose Altuve throwing error to start the inning. The big blow for the A's was a two-run double by Nate Freiman, who spent this spring in camp with the Astros before being claimed off waivers.
"I think it was a mixture between me not locating and them taking advantage of it," Keuchel said. "Throw away that fourth inning, and it's a one-nothing ballgame. I felt good today, but give credit to them."
Freiman, taken by the Astros in last year's Rule 5 Draft, went 2-for-3 with three RBIs, including a long homer to center field in the sixth inning that made it 6-0.
"They've got a really solid lineup and it's well balanced all the way through," Castro said. "They've got guys that hit for power, they've got guys that can get on base and get jobs done. They have a really well-rounded offense and it's been tough for us. We'll figure them out the more we see them."
The Astros are 8-19 against teams in the AL West.
"This is a new division for us, obviously, so we have to learn all these guys from scratch," Castro said. "We have to bear down and try to be good where there's situations where guys are in scoring positions, and we have to take advantage of quick innings and things like that."
J.D. Martinez scored Castro with an RBI double in the eighth inning against Ryan Cook to keep the Astros from being shut out, and Chris Carter scored a run on a bases-loaded sacrifice fly. They had the tying run on deck that inning, but that's as close as they could get.
"Whenever you have opportunities to capitalize, you can sit here after the game and say if you capitalize here or there, it's a different ballgame," Porter said. "They came up with big hits with men in scoring position. We didn't get those hits when we needed them."