WASHINGTON -- Lance Lynn was sharper than he had had been all season, which made it all the more frustrating for him when he failed to make it out of the sixth inning.
Bryce Harper didn't get past the sixth inning either, but for a completely different reason.
Lynn won his fourth straight start and delivered an RBI double after yet another error by Washington, and the St. Louis Cardinals scored three unearned runs to beat Jordan Zimmermann and the Nationals 4-3 Saturday.
Lynn (4-0) gave up one run and five hits over 5 2/3 innings in becoming the NL's first four-game winner. After the right-hander lost his control in the sixth, Kevin Siegrist retired Danny Espinosa on a two-out fly ball with the bases loaded.
''I'm not going to lie to you, my stuff was better today than it's been all year,'' Lynn said. ''That's the disappointing thing about the way the game finished for me today.''
Harper, meanwhile, was pulled after Nationals first-year manager Matt Williams questioned the manner in which the young outfielder ran out a comebacker leading off the sixth.
''Lack of hustle. That's why he came out of the game,'' Williams said. ''He and I made an agreement, this team made an agreement, that when we play the game, that we hustle at all times.''
Now in his third season, the 21-year-old Harper is one of Washington's brightest stars. The two-time All-Star once ran into a wall in the relentless pursuit of a fly ball, but on this day Harper was left explaining an act of nonchalance.
''I respect what he did,'' Harper said of Williams' decision. ''That's part of the game.''
Tony Cruz drove in two runs for the Cardinals, who have won nine of the last 10 games between the teams.
St. Louis took control with a three-run second inning fueled by third baseman Anthony Rendon's throwing error, capped by Lynn's first career extra-base hit. The Nationals, under former Gold Glove third baseman Williams, are averaging more than an error per game and lead the majors in miscues.
''I feel like we made a mistake, a couple of minor mistakes that cost us, but we were in the game,'' Williams said.
Trevor Rosenthal worked the ninth for his fifth save, but not without difficulty. Washington put runners on second and third with one out, and Kevin Frandsen drove in a run with a groundout before Rosenthal struck out Jayson Werth on three pitches.
Frandsen was batting in Harper's spot in the lineup.
''Kevin Frandsen put on a nice 'AB' against Rosenthal,'' Williams said, ''but [Harper's] spot came up with the ability to win the game. And that's a shame for his teammates.''
Said Harper: ''Man, that's tough to watch, not being able to be up there in that situation. It's something that I thrive on and I want to be in. You know, it's in the past and there's nothing we can do about it now.''
Williams said Harper would start Sunday in the series finale.
Espinosa homered for the Nationals, but he was the only player to get past first base against Lynn until the sixth.
Zimmermann (1-1) allowed four runs, only one of them earned, in seven innings. He struck out six and walked two after coming in with a 0-3 with an 8.27 ERA in six career games against the Cardinals.
Zimmermann took the loss but probably deserved a better fate. The right-hander has beaten every NL team except St. Louis and Pittsburgh (one start).
St. Louis bolted in front for good in the second inning. After Rendon threw wide on a potential force play at second, Cruz sliced a two-out, two-run single to right field and scored on a double by Lynn. It was the pitcher's first extra-base hit in 115 career at-bats and his fourth RBI.
''I was trying to hold it to a single,'' Lynn joked. ''I don't like to run.''
The tainted inning extended a series trend that began Thursday night, when the Nationals made three errors, and continued Friday when Washington scored two unearned runs in a 3-1 win.
Espinosa led off the fifth with his first home run since last May 5.
In the Washington sixth, Werth singled and Adam LaRoche walked before Rendon looked at a third strike after getting ahead in the count 3-0. Lynn then walked Ian Desmond on four pitches before Siegrist retired Espinosa.
Matt Holliday delivered a two-out RBI single for St. Louis in the seventh, and successive doubles by LaRoche and Rendon got Washington to 4-2 in the eighth.
The game drew a sellout crowd of 41,084. ... The Nationals activated OF Denard Span from the 7-day disabled list and optioned OF Steve Souza Jr. to Triple-A Syracuse. Span started in the leadoff spot and got two hits. ... Stephen Strasburg (1-2) starts for Washington on Sunday against RHP Shelby Miller (1-2), who went 2-0 against the Nationals last year. ... Cardinals manager Mike Matheny remains undecided on his starter Monday against the Mets.