Gonzalez pitched his second complete game of the season and his first career shutout, allowing four hits and striking out eight batters. Gonzalez retired the first nine hitters he faced, but found himself in trouble in the fourth inning.
Gonzalez walked the first two hitters -- John Jay and Carlos Beltran -- but Matt Holliday hit into a double play and Allen Craig flew out to right fielder Jayson Werth to end the threat.
Gonzalez allowed back-to-back singles to Daniel Descalso and Jay to start the sixth inning, but Carlos Beltran flew out to Werth and Holliday hit into a double play to end the frame.
"There's a reason why he's so dominant," Cardinals infielder Skip Shumaker said. "He throws 96 [mph] with a really good curveball. He's really good. Yeah, I'll give credit to him, absolutely. But we just stunk tonight. We did. We stunk."
Gonzalez had a 120-pitch limit, according to manager Davey Johnson. Gonzalez made it to 119 by getting Shane Robinson to fly out to center fielder Bryce Harper to end the game.
"Catch it please, Bryce. That's all I had left in the tank," Gonzalez said. "As soon as he caught it, I just stood there, closed my eyes for a second, or probably not. Then I gave [catcher Kurt] Suzuki a big smile and a big handshake, a thank you. It's a great win for us all."
Gonzalez then received a Gatorade shower from his teammates.
"He took me right to the edge," Johnson said. "If he walked [Robinson], I had [Ryan] Mattheus ready. But I might've let [Gonzalez] go over my predetermined number. Otherwise, I'd have Gio hassling me all week. So, what a great effort.
"The way he was throwing and his delivery, there wasn't, in my mind, any risk. I've kind of, with all of them, been on the conservative side all year. I've let pitchers go 130. It's not a big deal."
There were a lot of reason for Gonzalez to do well. His parents were at the game. He could see his mother behind home plate. His father was somewhere in the stands, maybe in the upper deck.
"My mom was right behind home plate, so imagine seeing [Suzuki's] face, then the umpire and then my mom," Gonzalez said. "So it was like, 'Uh oh, can't disappoint you, Ma.' You can hear her every at-bat, 'Swing! Do this!' And I'm like, 'Oh God, somebody keep her quiet over there.' My dad disappeared, my dad was somewhere in the stands. Probably in left field or something. It was one of those things when you have your whole family here, you want to step it up and enjoy it."
Then there were 29,499 fans who gave Gonzalez the energy to complete the game. They were chanting, "Let's go, Gio! Let's go, Gio! Let's go, Gio!" in the ninth inning.
"It was just one of those things where you just can't explain it," Gonzalez said. "It felt like it was a boost of energy. It was kind of like having a Red Bull right there in the ninth. But when they were coming alive, I was just trying to do my best and try to pound that strike zone. Then I just came up with it, and 'Zuk did a great job and made everything come out alive. The defense was unbelievable."
Gonzalez received run support early and often. Six of Nationals' runs were against right-hander Adam Wainwright. In the first inning, Werth and Harper scored on a single by Adam LaRoche to make it a 2-0 game.
Two innings later, Washington batted around and scored four runs. Ian Desmond, Danny Espinosa, Suzuki and Werth had RBI hits. Wainwright threw 86 pitches in 2 2/3 innings.
"That's one of their best pitchers," Johnson said about Wainwright. "Sending him after two and some change, he threw  pitches. I kind of felt sorry for the skipper over there, because he used one of his long men last night, [Lance] Lynn, so he couldn't come back with Lynn. Then [Trevor Rosenthal] pitched  pitches with one-day rest, so [Matheny] was kind of in a tough spot."
The Nationals scored two more runs against Rosenthal. Harper drove in two runs with a single to center, scoring Werth and Suzuki.
In the eighth inning, Zimmerman swung at a 3-2 pitch from right-hander Jason Motte and hit the ball over the right-field fence for a two-run homer.
After going through a five-game losing, the Nationals have outscored their opponent, 26-5, in the last three games. It appears Johnson's meeting with his players before Wednesday's game against Marlins worked wonders.
"That's what a great manager does," Gonzalez said. "Sees there's a little glitch in the system, fixes it back up and gets us going, you know? That little speech he had for us was one-of-a-kind and got us where we wanted to be right now. We're doing good and we're staying positive."