WASHINGTON -- The Cardinals entered Saturday's game scuffling at the plate and searching for a win. They took care of both those problems.
Matt Holliday also homered and Matt Carpenter had a three-run double for the Cardinals, who had scored only one run during their four losses while allowing 32. Freese, Jon Jay and Allen Craig each had three of the Cardinals' 14 hits.
"I'd say all things considered, the message we have been trying to get our hands around the last few days was just showing life," Cardinals manager Mike Matheny said. "I don't know if you can show more life than what they showed today, and heart. I think all things considered, that's as good a win as we've had."
The NL East-leading Nationals led 6-2 in the second inning and, after falling behind by two runs in the fourth, rallied for three in the sixth to take a 9-8 lead. Adam LaRoche and Danny Espinosa each homered for Washington.
St. Louis tied it in the eighth on Carlos Beltran's pinch-hit single off Nationals reliever Sean Burnett. Craig led off the ninth with a single against Storen (1-1). One out later he stole second base and later raced home on Freese's looping hit over the Nationals infield.
"It felt like a playoff game," said Freese, whose single off Drew Storen plated Allen Craig with the decisive run. "The atmosphere, the team we are playing against. They have 80 wins for a reason. We are battling. You are going to trade punches when you got two teams going at it. Today was fun."
The Cardinals entered the day one-half game ahead of Pittsburgh for the final National League wild-card spot.
Lohse allowed eight runs -- five earned -- and nine hits over 5 2/3 innings. He settled down after allowing six runs through three innings and led 8-6 entering the sixth, but he allowed a solo homer to Espinosa and left two outs later in the sixth after Jayson Werth's double.
After walking Bryce Harper, reliever Marc Rzepczynski was replaced by Fernando Salas, who promptly gave up a single to Ryan Zimmerman. Werth beat the throw home from right fielder Allen Craig while Zimmerman looked to take an extra base on the play.
Catcher Yadier Molina attempted to wipe out Zimmerman at second base, but his toss allowed Harper to score. The racing 19-year-old slid in safely putting the Nationals ahead 9-8.
Jordan Zimmermann never found his way, laboring through 3 2/3 innings -- his shortest start of the season. Staked to leads of 4-0 and 6-2, he allowed a career-high eight runs and eight hits including two-run homers by Freese and Holliday.
"The offense did a great job, you have to tip your cap to those guy, they give you six runs," Zimmermann said. "You do all you can to keep the team in the game and you can't hold it down. This loss is totally my fault."
Over his last four starts, Zimmermann is 0-3 with a 7.92 ERA after he went 6-0 with a 1.47 ERA in his previous nine outings.
"When it was going good, it felt like I could go up there and threw anything and it would be a strike or a groundball," Zimmermann said. "I'm trying to do the same thing I've been doing all year and they're just putting the ball in play and hitting it a little harder."
After Lohse allowed two runs and three hits in the first inning, including LaRoche's two-run double, the Cardinals defense came undone, allowing Washington to bat around and take a 4-0 lead. Holliday dropped a deep fly ball by Ian Desmond, allowing two runs to score.
Freese homered in the second, but LaRoche countered with his own two-run blast in the bottom of the inning. The Nationals first baseman finished with three RBIs.
"I think the way we were down early, you try and turn the page from the last few games, but the way it started out, it's tough not to say here we go again," Freese said. "But that's not this team."
Holliday launched the first pitch he saw from Zimmermann deep to center field for his 25th home run on the season.
Down 6-4 in the fourth, the Cardinals loaded the bases on a double and two hit batters, and Carpenter cleared them with a double off the right field wall, giving Lohse and St. Louis a 7-6 lead.
"With bases loaded and two outs there, I threw a slider, left it up a little bit," Zimmermann said. "It was a double. Kind of sums up my day."
Werth was removed in the ninth inning with leg cramps.St. Louis activated OF-1B Lance Berkman from the 15-day disabled list. The Cardinals also recalled left-hander Sam Freeman from Triple-A Memphis. ... The Nationals reinstated OF Mark DeRosa from the 15-day DL and recalled pitcher John Lannan, catcher Sandy Leon and outfielder Eury Perez from Triple-A Syracuse. Perez took over for Werth defensively in the ninth. ...Stephen Strasburg takes the mound for one of his few remaining starts this year in Sunday's series finale against Cardinals pitcher Jake Westbrook.