Galarraga, making his third start since being called up by Houston, has walked 13 batters in his past two starts and hasn't exactly taken the bull by the horns in an attempt to establish himself.
"I threw the ball bad," he said. "I'll be honest with myself. Six walks [after] seven walks. There's not an excuse for that. I need to make adjustments and work on my mechanics."
Astros manager Brad Mills had hoped Galarraga would have made those adjustments after he walked a career-high seven batters Friday in Atlanta, but his command issues remained.
"He's got good stuff, but we'd like him to pitch on the plate a little bit and kind of work ahead of hitters," Mills said. "It gives the pitchers a lot of confidence, and I think that's one of the things that got him in trouble today."
Gonzalez, meanwhile, was terrific. Jose Altuve led off the game with a double -- the Astros' only extra-base hit -- and eventually scored, but Gonzalez was never really threatened again until the ninth. That's when the Astros scored a run and had runners at second and third base with two outs before Matt Downs struck out swinging to end the game.
"This guy, he does have really good stuff, but he attacked the hitters and attacked the hitters," Galarraga said. "It is what it is, but sometimes you're going to give up hits and sometimes you're not, but you have to attack. I'm not attacking anybody right now."
It was only the second complete game of the season for the Nationals and the first for Gonzalez since he threw an eight-inning complete game in a loss two years ago while pitching for the A's.
"It means a lot," he said. "It's the first time in my career going nine innings like that. In a different league, also getting a home run, today is just one of those where you smile about it. But tomorrow is a new day."
Tyler Clippard and Drew Storen, the two closers for the Nats, were both unavailable, which made Gonzalez's 117-pitch effort even more important.
"Today it was like a Little League game for Gio," Clippard said. "Hits the two-run homer, we win by one and he throws a complete game -- that's like Williamsport Little League stuff. It's awesome. What a day for him."
Galarraga (0-2) walked the first two batters he faced, but his biggest mistake came in the second when he hit catcher Kurt Suzuki with a two-out pitch. Gonzalez followed with a no-doubt homer into the Crawford Boxes that put the Nats ahead, 3-1.
"Giving up home runs is part of the game, but I'm really frustrated about the six walks," Galarraga said.
Gonzalez (14-6) said he couldn't enjoy the homer too much considering there was plenty of work left to be done.
"As soon as you run the bases, just let it go already," he said. "He's a professional, I'm a professional. That's the way the game is. You're going to run into one of those. I just got a pitch up in the air."
The Nationals left the bases loaded in the third inning and again in the sixth, when Galarraga was pulled after beginning the inning with two walks and a single. Xavier Cedeno bailed out Galarraga by getting a force out at the plate before inducing Steve Lombardozzi to pop out and striking out Bryce Harper looking to end the inning.
Houston's bullpen has a 1.25 ERA in its past six games.
Astros center fielder Brandon Barnes, making his second career start, came up with his first Major League hit when he shot a single to right field in the ninth inning. Barnes plans to give the ball to his wife, Shawn.
"It's always good to get the first one out of the way and I've just been battling and been excited and kind of doing too much at the plate," he said. "I just kind of sat back the last at-bat and just relaxed and got a pitch I could take the other way and it just worked out."