WASHINGTON (AP) -- Ryan Zimmerman 's return may have been the spark the Washington Nationals ' offense was waiting for.
Zimmerman certainly made a difference Tuesday night.
The Nationals' All-Star third baseman hit a run-scoring double in his return from the disabled list to spark a six-run seventh-inning as Washington beat the St. Louis Cardinals 8-6.
"It was just fun to be part of a game again," Zimmerman said. "That's the biggest part. It was a great game, a good win, and hopefully we can continue on with that."
Zimmerman had missed 58 games because of an injured abdominal muscle which required surgery in early May. He was given ovations from the crowd in pregame introductions and for each of his at-bats, with the loudest cheers coming after his double down the right-field line drove in the Nationals' first run of the seventh.
"This is his team," said Jayson Werth , who had an RBI single in the seventh to cap the rally. "He's an icon of the franchise. He's the guy, so any time you're missing a presence like that, it's definitely good to get him back."
The six-run inning matched the Nationals' best this season, and none were wilder than this. Washington's last four runs in the inning scored with two outs. The tying run scored on a wild pitch and the Nationals took the lead on a bases-loaded walk.
They extended their winning streak to four games, also tying their season best.
"That's a crazy game right there," said Nationals closer Drew Storen , who pitched the ninth for his 16th save in 17 chances.
Albert Pujols and Lance Berkman hit home runs for St. Louis, which has lost a season-high four straight games.
Miguel Batista (3-2) of the Cardinals relieved starter Jaime Garcia to start the seventh with St. Louis holding a 6-2 lead. After Zimmerman's double, Michael Morse had an RBI groundout for the second out. Danny Espinosa then scored Zimmerman on a single.
"I can't even remember all the at-bats, there were so many good at-bats," Nationals manager Jim Riggleman said. "We got a couple breaks, a couple hits that weren't really squared up that well - it was a lot of great at-bats"
Reliever Trever Miller came on and hit Roger Bernadina , loading the bases, and then threw a wild pitch to pinch-hitter Ivan Rodriguez , allowing the tying run to score. After an intentional walk to Rodriguez, reliever Jason Motte came on and walked pinch-hitter Laynce Nix on the 11th pitch of the at-bat to give the Nationals their first lead of the game, 7-6.
"It was just a nightmare of a seventh inning," Cardinals manager Tony La Russa said.
Henry Rodriguez (2-1) pitched the seventh inning to earn the win.
The Cardinals took advantage of a defensive miscue to score three runs in the fifth and take a 6-1 lead.
An intentional walk to Pujols with one out loaded the bases for Berkman, who hit what appeared to be a double-play grounder to shortstop Ian Desmond . However, Desmond's flip to Espinosa caught the second baseman in an awkward position, and the throw to first was too late to get Berkman. The reprieve led to two more St. Louis runs as Yadier Molina and Andrew Brown hit run-scoring singles before the Nationals got out of the inning.
Pujols hit a two-run homer in the first - his 15th of the year - and Berkman hit his 17th in the fourth.
NOTES: Nationals 1B Adam LaRoche will have season-ending surgery Thursday to repair a torn labrum in his left shoulder. ... OF Rick Ankiel (strained left intercostal muscle) left the game after the top of the second. Riggleman said Ankiel would not play Wednesday and is day to day. ... Washington optioned RHP Craig Stammen to Triple-A Syracuse on Tuesday. ... LHP Tom Gorzelanny (inflamed left elbow) threw a rehab start for Syracuse on Monday, giving up four runs in four innings. Gorzelanny said Tuesday he felt ready to come off the DL for his next start, although Nationals manager Jim Riggleman said he may get one more rehab start. ... Cardinals RF Andrew Brown made his first major league start, one game after his MLB debut, and got his first hit in the fifth inning. ... SS Ryan Theriot had errors on consecutive plays in the fifth inning. He has 13 this season.