WASHINGTON (AP) -- David Freese homered, drove in three runs and had a go-ahead single in the ninth inning Saturday as the St. Louis Cardinals ended a four-game skid with a wild, 10-9 win over the Washington Nationals.
Matt Holliday also homered and Matt Carpenter smacked a three-run double for the Cardinals, who had scored only one run during their four losses while allowing 32. Freese, John Jay and Allen Craig each had three of the Cardinals' 14 hits.
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 Drew Storen (1-1). One out later he stole second base and later raced home on Freese's looping hit over the Nationals infield.
Mitchell Boggs (3-1) pitched a spotless eighth. Jason Motte, the last of five St. Louis relievers to follow starter Kyle Lohse, notched his 32nd save.
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. 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.
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 flyball by Ian Desmond, allowing two runs to score.
Shortstop Daniel Descalso booted Espinosa's potential inning-ending grounder. Kurt Suzuki's single and fourth hit in the inning drove in Desmond for the third unearned run of the inning.
Freese and LaRoche traded two-run homers in the second. The Nationals first baseman finished with three RBIs.
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.
NOTES: 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. .Stephen Strasburg takes the mound for one of his few remaining starts this year in Sunday's series finale against Cardinals pitcher Jake Westbrook.