"Our starting pitching has been outstanding," manager Bo Porter said. "Even throughout this stretch in which we've lost some ballgames, it's definitely not to the fault of our starting pitching. They've done a great job again tonight."
The 25-year old Keuchel tied his career high with six strikeouts, and racked up his third consecutive quality start. Since May 31, Keuchel is 2-1 with a 1.89 ERA.
The infield defense didn't give its starter much help. The Astros committed three errors, accounting for both Seattle's go-ahead run in the fifth and its insurance in the seventh.
"It's nothing I get mad about," Keuchel said. "Like I said, they pick me up plenty of times, so it's just me trying to pick them up there."
Houston has lost its past five games and six of its past seven. Prior to that, the Astros had a six-game winning streak, including a road sweep of the Angels.
Houston got on the board first in the third inning. A bunt by Brandon Barnes should have resulted in a double play, but shortstop Brendan Ryan couldn't reel in Iwakuma's throw, which went to the outfield, allowing Marwin Gonzalez to advance to third. Jose Altuve's sacrifice fly brought him home, ending Iwakuma's scoreless-innings streak at 23 2/3.
Keuchel struggled with his command in the bottom half of the frame, but escaped unscathed. After hitting Carlos Triunfel with one out, Keuchel gave up a single to Jason Bay, then advanced both with a wild pitch. He recovered, striking out Kyle Seager and fielding a grounder by Kendrys Morales to end the inning without any damage.
He gave in an inning later, when Raul Ibanez hit a deep home run to right field, tying the game at 1.
Seattle took the lead in the fifth inning, when a throwing error by Matt Dominguez allowed Seager to score on a Morales single. Seager had advanced to second while Triunfel was caught in a rundown between second and third following Seager's single.
"He did a great job of staying in it to get Seager to second base. That pitcher fields his position well. He made a couple good plays to help himself," Seattle manager Eric Wedge said. "[Triunfel] thought it was over his head and took off, and got caught in-between. But now you've got to do what he did, be athletic and stay in it as long as possible, and it ended up being a big play for us."
Wade LeBlanc took over in the seventh, making his first appearance after the Astros claimed him off waivers from Miami. It was an unfortunate first outing. An error by Altuve put runners on first and third, and a double by Michael Morse drove in a run. It was unearned, but it gave Seattle a 3-1 lead.
"One of the strong suits, which we've leaned on this whole year, is our infield defense, and tonight we just didn't play well from a defensive standpoint," Porter said.
Houston tacked on a run with two out in the ninth off closer Tom Wilhelmsen. Pinch-hitter Carlos Corporan drove J.D. Martinez home from second, which he reached on defensive indifference after leading off the inning with a single.
Dominguez battled during a six-pitch at bat, but popped out down the first-base line in foul territory to hand Houston a loss in the opener of the three-game series.