Frankie Montas matched strikeout machine Gerrit Cole with six scoreless innings, and Stephen Piscotty launched his third homer in as many days for a 1-0 lead in the seventh, later notching an RBI single for an insurance run in the eighth to keep the A's in the win column.
They've won 17 of their last 21 games to move 11 games over .500 at 51-40, which puts them six games back of the second AL Wild Card spot. Not since their first matchup of the season with the Astros, on April 27, had they beaten the defending World Series champions.
"They're a good team," Piscotty said. "Every day you're trying to win a ballgame, so you don't dwell on the past too much. But to get the first one of this long series in a pretty rowdy environment is huge and sets the tone."
Cole fanned 11 through six, but the A's worked him for 108 pitches in that span -- including 26 in his final frame -- to force a new face into the game. Piscotty sent reliever Brad Peacock's seventh pitch over the left-field wall to christen the seventh.
Montas turned in arguably his best work this season, holding the Astros -- who were riding a six-game winning streak -- to three hits. He struck out two and walked two, ending his night with a critical double-play ball off the bat of Jose Altuve to strand a pair of runners in the sixth.
"You try not to think about the opposing pitcher," A's manager Bob Melvin said, "but how can you not? Both guys are throwing 98 miles an hour and cutting through lineups pretty easily, and so you know you have to keep up with him, and he did.
"He was great. He had that look about him tonight, where he was competing and he was in charge and it looked like he was really confident."
Said Montas: "I was like, 'I'm not going to give up, I'm just going to try to keep the team in the game.' [Cole] is one of the best right now. Just facing him, I was like, 'They're not taking me out first.'"
A familiar scene played out next: Flamethrower Lou Trivino worked two scoreless innings, and newly named All-Star Blake Treinen converted his 20th straight save opportunity and 23rd overall.
The A's are the only team in the Majors undefeated when leading after seven innings, at 35-0, and they're 42-0 when leading after eight.
"I think all three of their guys pitched tremendously well," Astros manager AJ Hinch said. "We see a little bit of how they've put it together on the mound. That's as good of a combo on the backend that you have. It's pretty electrifying stuff."
MOMENTS THAT MATTERED The Astros put two on with two outs against Treinen, bringing Evan Gattis to the plate. Gattis, who frequently feasts on A's pitching, worked Treinen for a 3-1 count, before fouling off a fastball and swinging through one of the right-hander's unfair sliders to end the game.
HE SAID IT "You know at this time of year they're not going to let him go much past 100, so it was important we got him up to that mark. If we make early outs that inning, he probably has another inning left in him. Similar to the other night with [Corey] Kluber, you get somebody out of the game like that, you take a little bit of a breath." -- Melvin, on Cole
UP NEXT A's lefty Sean Manaea will be on the mound opposite Astros ace Justin Verlander in the second of this four-game series on Tuesday, with first pitch scheduled for 5:10 p.m. PT at Minute Maid Park. Manaea is 1-1 with a 2.84 ERA in two starts against Houston this year, with four earned runs allowed across 12 2/3 innings.
Jane Lee has covered the A's for MLB.com since 2010. Follow her on Twitter @JaneMLB.