Updated

St. Louis leads the National League in batting average and runs, not that anyone would assume that lately. Pitcher Adam Wainwright dominated during his first five starts in August, not that anyone would believe it based on Friday night.

Gio Gonzalez earned his 17th win with his first career shutout, and the Nationals battered Wainwright in his shortest start this season in Washington's 10-0 victory over the St. Louis Cardinals on Friday night.

Wainwright (13-11) allowed six runs, nine hits and walked three. The right-hander yielded only six earned runs in 36 2-3 innings over his previous five starts, all victories.

Perhaps the odds just caught up with him. The Cardinals' lineup is not catching up with anything thrown by the opposition during the current four-game losing streak. In that span, St. Louis has scored only one run.

"We face good pitching all season long," Cardinals manager Mike Matheny said. "This shouldn't happen to us one day, let alone four. These guys are embarrassed right now. We're all embarrassed. That's not the team we are."

St. Louis remained a half-game ahead of Pittsburgh for the final National League wild-card slot. The Pirates lost 9-3 at Milwaukee.

Perfect through three innings, Gonzalez (17-7) held the suddenly anemic St. Louis lineup hitless through four innings. He finished with eight strikeouts and walked three during his 119-pitch outing en route to his fourth win in five starts and third career complete game.

Gonzalez walked two straight starting the fourth. He was out of danger two batters later, getting Matt Holliday to ground into a double play and Allen Craig to fly out.

Yadier Molina ended any thoughts of a no-hitter with a leadoff double in the fifth, but the Cardinals left him stranded. Two more runners reached in the sixth, but Gonzalez escaped with another double play. In the ninth, the Washington starter once again allowed two runners to reach. Once again, the Cardinals came up empty.

Gonzalez tied Cincinnati's Johnny Cueto and the New York Mets' R.A. Dickey for the major league lead in wins.

"We ran into a guy who's got great stuff, pitching with confidence, and a team struggling to score runs," Holliday said. "That's a bad combination."

At the same time, the Cardinals' pitchers have lost their way, allowing 32 runs during the skid.

Any hopes that Wainwright would act as a stopper ended quickly. Washington scored two in the first inning on four hits and sent 10 batters to the plate during a four-run third inning.

"That's what happens against a good lineup when you're erratic and all around the zone," Wainwright said.

Adam LaRoche, Bryce Harper and Ryan Zimmerman each drove in two runs for the NL East leading-Nationals, winners of three straight.

Zimmerman hit a two-run homer in the eighth inning against reliever Jason Motte.

Jayson Werth had three hits and scored along with Bryce Harper on LaRoche's opposite field single to left.

Wainwright also put consecutive runners on opening the third inning and after recording one out, he allowed three straight run-scoring hits, starting with Ian Desmond's single. Werth's two-out RBI single put Washington ahead 6-0. After Wainwright walked the next batter, his night was over.

"Just a really weird night," Wainwright said. "Nothing that's going to do anything but motivate me for next time. Definitely a loss you can pin on my shoulders."

Matheny pulled Molina in the seventh inning, noting his catcher's left shoulder took the brunt of a recent collision.

"He's been trying to fight through it, but we can see that it was a little more obvious today than even yesterday. We're going to have to give him time."

The Nationals have won five straight against the Cardinals overall and eight of nine at home dating back to 2010.

NOTES: Before the game the Cardinals placed All-Star shortstop Rafael Furcal on the 15-day disabled list because of a strained right elbow. Shortstop Pete Kozma, promoted from Triple-A Memphis, batted eighth and finished 0 for 2 in his season debut. . The Cardinals said outfielder Lance Berkman would be activated from the 15-day DL on Saturday. He's been out since Aug. 3 with an injured right knee. ... Jordan Zimmermann will start Saturday for Washington against fellow right-hander Kyle Lohse.