CHICAGO -- David Freese wanted to make sure the Cardinals weren't swept. So he took matters into his own hands.
"You lose two emotional games like we did, you never want to get swept, to get that third one heading back home is nice," Freese said. "We came out of the gate so hot, this game will even you out real quick."
Lynn (4-0) held Chicago to six hits in becoming the first four-game winner in the majors and helping the Cardinals avoid a three-game sweep.
"What Lance was able to do set the tone for everything," Cardinals manager Mike Matheny said. "Whenever he did get into a little trouble, it was a lot like what we saw with (Adam Wainwright on Tuesday) -- just made better pitches."
Freese's two-run blast in the sixth capped a three-run, two-out rally against starter Chris Volstad. Freese added an RBI double in the eighth.
"We put up enough runs -- we'd still like to put it on the opponent a little harder, a little more, but we'll take this one," Freese said. "Our pitchers are doing a phenomenal job, we just have to keep scrapping."
Volstad (0-3) threw six solid innings, retiring St. Louis in order during four of them. But he's still 0-8 in 15 starts since July 10, 2011.
Bryan LaHair homered to lead off the fourth for Chicago's only run. LaHair has four of Chicago's lowest seven home runs this season, the lowest total in the majors.
"I'm going pretty good when I go the other way," LaHair said after his second straight day with an opposite-field homer. "They're attacking me away right now. They'll probably start coming in, which is a good thing, too."
The Cardinals avoided being swept at Wrigley Field for the first time since July 27-30, 2006. The Cubs took the first two games of the series in their final at-bat, winning their first series of the season under new manager Dale Sveum.
Lynn threw 110 pitches, only the third time this season a Cardinals pitcher has surpassed 100. He's done it on two of those occasions, not bad for a pitcher who only became a starter because rotation stalwart Chris Carpenter went on the disabled list with a shoulder problem. His eight innings marked the longest outing by a Cardinals pitcher this season, and he lowered his ERA to 1.33.
"Early on they were putting good swings on ball," Lynn said. "I was able to start making the ball move a little bit more and getting quicker outs later in the game."
Freese led the Cardinals offense with two hits and three RBIs. Carlos Beltran doubled, walked, scored two runs and stole two bases.
Beltran has five steals this season, already his most since 2009.
The sixth-inning double snapped an 0 for 18 slump for Beltran. Matheny planned on giving Beltran the day off Wednesday, but the 35-year-old asked to be in the lineup.
"You love that from a veteran player, who's just begging to be in there a day game after a night game," Matheny said. "Yesterday was his birthday. The guys were all over him about trying to make something happen.
"He was excited to make something happen today."
Shane Robinson singled three times and stole a base for St. Louis. His three hits matched a career high. ... The Cardinals are headed back to St. Louis for a six-game homestand beginning Friday against Milwaukee and Pittsburgh. ... The Cubs embark on a seven-game trip, with a four-game set beginning at Philadelphia on Friday. They also play three at Cincinnati. ... Cubs reliever Kerry Wood threw a bullpen session on Tuesday without incident. He's on the disabled list with right shoulder fatigue. While Wood is eligible to come off the DL on April 29, Sveum said no timetable has been established for his return.