HOUSTON -- On a day starting pitcher Dallas Keuchel wasn't at his best and the Astros' vaunted offense wasn't crushing the ball, the defending champs found another way to beat the Orioles.
The Astros pushed across the tying run on a squeeze bunt by Marwin Gonzalez in the sixth inning and used a stolen base by Derek Fisher in the seventh to set up Alex Bregman's go-ahead single to beat the Orioles, 3-2, at Minute Maid Park.
"It's nice to get a win in an otherwise pretty sluggish day for us," Astros manager AJ Hinch said. "I didn't think we were at our best on a lot of levels, but we kind of grind through the game, and Dallas gets through a tough outing of his own and we kind of piece it together and come up with the big hit."
The Astros, who scored 38 runs through their first six games, managed only seven hits (six singles) and were 1-for-8 with runners in scoring position. Josh Reddick singled in his first three at-bats after homering in his final two at-bats Tuesday.
• Reddick stays red hot, hits in 5 straight ABs
"We're not going to always slug the way that we can, so when you have to manufacture a few runs you can put yourself in some good situations with your baserunning," Hinch said.
Houston swept the three-game series to improve to 6-1, tying their best start in club history (1987, '88). The Astros have won 14 of 16 from the Orioles since the start of 2016 and have won nine in a row against Baltimore in Houston.
"We've done a great job all year so far and last year as well of being able to win games in multiple ways," Bregman said. "We're back this year. The kids are back."
Keuchel struggled with this control, needing 104 pitches to get through five innings. He allowed five hits and two runs (one earned) and walked four batters. Reliever Hector Rondon followed Keuchel with a scoreless sixth, and Brad Peacock worked the final three innings for his first win of the season, striking out five.
"He was really good and had a ton of composure, like we expect," said Hinch, who opted to let Peacock throw the ninth over closer Ken Giles. "His pitches, he was executing. Their swings were telling me they weren't seeing him very well."
MOMENTS THAT MATTERED
Putting on the squeeze: Aggressive baserunning on a throwing error from Orioles right fielder Anthony Santander helped the Astros tie the game in the sixth inning. Jose Altuve singled, went to second on a Reddick single and third on an errant throw by Santander, putting Gonzalez in position to drop a rare squeeze bunt to score Altuve and tie the game at 2-2.
Gonzalez took a swing to start the at-bat to try to drive in Altuve and fouled it off, but then opted to put down the squeeze.
"To be honest, I went to home plate with one plan and it was to swing at the first pitch," Gonzalez said. "I know Altuve was running at third and that was going to be a good idea [to bunt], and thank God I got it down."
Stolen base payoff: Fisher, who scored the winning run from second base in Game 5 of the World Series on a walk-off single by Bregman, made his speed pay off again Wednesday when he swiped second base in the seventh inning and scored moments later on a single to left by Bregman to put the Astros ahead, 3-2, with a two-strike hit.
"Fisher did an unbelievable job of stealing second base," Bregman said. "I laid off some tough pitches, and I was just fortunate enough to put a good swing on the ball."
"The move today is no indictment on Ken Giles. It's not a message being sent to him. There's not an issue whatsoever on our club about who's going to get the last out of the game. Today, the matchup that we liked with the way Peacock was spinning the ball and the team we were facing and how he was pitching, all led me to want to leave Brad Peacock in," -- Hinch, on not using his closer in the ninth
Astros: Right-hander Lance McCullers (1-0. 3.38 ERA) makes his second start of the season -- and first at home -- when the Astros open a three-game series against the Padres at 7:10 p.m. CT on Friday at Minute Maid Park. McCullers struck out 10 hitters in 5 1/3 innings in his 2018 debut Saturday against the Rangers.
Watch every out-of-market regular-season game live on MLB.TV.