Pinch-hitter Tony Batista, Washington's last available position player, led off the inning with a single off Ryan Franklin (4-1). Felipe Lopez hit into a force play before Ronnie Belliard singled. Zimmerman then lined a 1-1 pitch to left field, scoring Lopez from second.
Chad Cordero (2-2), the fourth Nationals pitcher of the game, threw a scoreless ninth to earn the win. It is Washington's first four-game winning streak since May 22-25.
The Nationals took a 2-1 lead in the seventh, when Brian Schneider led off with a single off Kip Wells. Ryan Langerhans came on to pinch run, and Nook Logan followed with a bunt single and D'Angelo Jimenez walked to load the bases. Wells gave way to Russ Springer, who retired Lopez before Belliard lofted a sacrifice fly to right.
St. Louis tied the game in the eighth on consecutive singles by Juan Encarnacion, Adam Kennedy and Yadier Molina off Jon Rauch.
Wells, who exited after throwing 116 pitches, leads the National League with 13 losses, and has won just once in his last nine starts. But he pitched well enough to win this one, allowing two runs and six hits in six-plus innings.
Wells singled in his first two at-bats, raising his average to .316. In his first trip to the plate, with two on and two outs in the second, he stretched out an eight-pitch at-bat before lining Tim Redding's 3-2 pitch to right, driving in the game's first run.
The Cardinals' bullpen threw a total of 9 2-3 innings in losses Wednesday and Thursday, so manager Tony La Russa said beforehand that three of his relievers wouldn't be available Friday
- though he wouldn't specify which ones.
He also made it clear Wells would be on the mound for quite a while.
"We don't have an off day for 10 days. This is going to be a day where Wells can throw 115 to 120 pitches
- and he's going to throw them," La Russa said. "We don't have a lot of protection today."