Houston trailed 2-0 before breaking loose for a six-run rally in the fifth. José Altuve doubled and scored on a single by Yuli Gurriel. Yordan Alvarez followed with another single, and Alex Bregman walked to load the bases for Tucker. After Tucker missed badly on an 82 mph slider from Sam Moll to make it a 1-2 count, the left-hander went back to the same pitch and this time Tucker pulled it a few rows deep into the right field seats.
"I hit it pretty well, and I was like, 'All right, sweet,'" Tucker said. "But then I was thinking about when I flew out so I was like, 'Please go over.' Luckily, it went over and we were able to take the lead from there and keep it."
Tucker's 21st homer of the season gave Houston a 5-2 lead. After Moll (2-1) was replaced, Aledmys Díaz singled and Jeremy Peña doubled to keep the rally going and extend the lead to 6-2.
Astros starter Luis Garcia (9-8) went six innings, allowing four runs on eight hits while striking out six. Garcia snapped a three-game losing streak after receiving three runs or less of run support in each of those starts.
Oakland had plenty of traffic on the bases early against Garcia. Jonah Bride doubled in the second inning to score Vimael Machín, and Tony Kemp scored in the third inning on a balk by Garcia that put Oakland up 2-0. Garcia and Astros manager Dusty Baker briefly argued with the umpires after the call.
"There were some good at-bats at the bottom of the order tonight," Oakland manager Mark Kotsay said. "We had 11 hits tonight. They had 11 hits. It's just unfortunate that one was a grand slam that they ended up taking the lead with."
The A's loaded the bases on Ryne Stanek in the eighth, but Stanek got Bolt to ground out to end the threat and hold the lead.
The Astros added an insurance run in the eighth after Peña scored on a sacrifice fly by Mauricio Dubón to make it 7-5.
"Those guys, they play us tough over there," Baker said. "Then that was a real big run in the (eighth) to give us some kind of insurance. Everything was going their way in the first few innings and they were taking it to us. We were kind of counterpunching on defense until Tucker hit that big knock."
Astros reliever Hector Neris pitched a scoreless ninth for his second save of the season.
Oakland starter Adam Oller pitched 4 2/3 innings, allowing five hits and two earned runs.
Houston has won three of its last four. At 73-41, the Astros hold a 1.5-game lead over the Yankees for the best record in the American League.
Astros: Houston Astros outfielder Michael Brantley will miss the rest of the season after he had right shoulder surgery on Wednesday. The 35-year-old Brantley hasn't appeared in a big-league game since June 26. He hit .288 with five homers and 26 RBI in 64 games in the final season of a $32 million, two-year contract.
After returning to right field in the top of the sixth inning following his grand slam, Tucker was greeted with a rousing ovation and "Tucker! Tucker! Tucker!" chants. He briefly pumped his glove and nodded to the crowd. Tucker later hit a ball to deep center that was ultimately caught at the wall in front of the 409-feet sign.
"I hit it pretty well, but it's pretty deep out there in center," Tucker said. "I don't think I have a ball hit out to center. I don't know, I got to work out more. Every time I do that, I go up to Yordan because Yordan launches balls over the batter's eye, and I'm like, 'I can't do it like you.' But we had a little joke about that. I've got to get a little stronger, I guess."
Baker and Garcia were still frustrated after the game about the balk call. Garcia is known for his rock-a-baby-esque windup. Baker said the call, "could have been a big turning point," and Garcia said he will need to seek clarity before his next start.
"They said that I can't do more than two steps, and that's just bad because I did that before with a man on third and it was OK," Garcia said. "So, I think they're wrong. If they're correct, they have to tell me something."
Athletics: Zach Logue (3-5, 4.79) starts on Saturday. He allowed two runs and three hits in five innings of a 3-2 win over Houston on July 9.
Astros: Lance McCullers Jr. will make his 2022 debut after missing the first four months of the season with a forearm strain.