ST. LOUIS -- All weekend, the Atlanta Braves got the key hits, got the big outs from their pitchers.
Jason Heyward had just three hits, but two of them put them ahead for good.
Heyward ended a 10-pitch at-bat with a bases-clearing double in third inning, helping the Braves give rookie Lance Lynn his first loss and beat the St. Louis Cardinals 7-4 Sunday to complete a three-game sweep.
"It was a battle," Heyward said. "I just tried to keep perfecting my timing on every pitch. I just wanted to get a pitch to hit and hit it, or get a walk.
"I know it took a lot of out of him."
Tommy Hanson (4-3) allowed one run in five innings with a season-high nine strikeouts and Martin Prado, Freddie Freeman and Dan Uggla each had an RBI in a three-run seventh. The Braves had lost seven in a row in St. Louis before Friday and swept the Cardinals for the first time since Sept. 11-13, 2009, also in St. Louis.
All seven of Atlanta's runs came with two outs.
"We're rolling right now," Hanson said. "We're playing good baseball and doing good things on the road, so hopefully we can go back home and keep it up."
The Heyward at-bat cost Lynn (6-1) a chance to become the franchise's first pitcher to win his first seven starts of the season dating to 1920, according to STATS LLC.
"You don't want to pitch to him in those situations," Lynn said. "I walked two guys in front of him and you can't do that and give a guy like that a chance. And he beat me."
Carlos Beltran homered for the sixth time in six games with his league-leading 13th of the season and Allen Craig hit a three-run homer off Cristhian Martinez in the ninth for his third hit of the game and fifth homer in seven games.
Rafael Furcal had three hits and a walk to extend his hitting streak to 12 games, but the NL Central leaders struck out 14 times and stranded 10 runners while getting swept for the first time.
The Braves totaled 56 runs during a 7-2 trip, including a pair of extra-inning victories, and also swept a three-game series at Colorado. Since losing its first four games of the season, Atlanta is a major-league best 22-9 with four road series wins.
The Cardinals had runners on first and second with none out in the first before Hanson found his stride, and he struck out five of the next seven batters. Hanson fanned cleanup hitter Craig twice and permitted just one runner in scoring position the next four innings before tiring in the sixth.
"I felt good with everything and for the most part did a good job of locating," Hanson said. "Nah, I didn't get tired. But I just didn't make quality pitches that inning."
Lynn threw a season-high 121 pitches in six innings, retiring his last eight in order, but the Braves made him work early by fouling off 26 pitches the first three innings. He's among three Cardinals to win their first six starts, along with Bob Tewksbury (1994) and Max Lanier (1946).
Lynn needed 26 pitches to escape unscathed in the first after the Braves put the first two on, and threw 39 more in the third. Heyward, whose 12th-inning two-run homer was the go-ahead hit on Friday, fouled off three pitches on a full count before his bases-clearing double.
Lynn struck out seven and has struck out 27 in 25 2/3 innings his past four starts.
Beltran had been 0 for 13 against Hanson before leading off the sixth with his 13th homer, and Craig and Lance Berkman followed with singles to chase Hanson. Eric O'Flaherty struck out pinch hitters Matt Holliday and Tyler Greene, the last with the bases loaded, to end the inning.
The Cardinals kept the Braves off the board in the first inning for the first time in the series, but were outscored 14-6 the last two games of the series.
Berkman, activated by the Cardinals from the 15-day disabled list from a calf injury before the game, was 1 for 5 with two strikeouts.
"I hadn't played in a month, so I felt like I was pretty pleased with the at-bats for not having been in there," Berkman said. "It's just going to take some time."
Chipper Jones entered in a double switch in the sixth and was 0 for 1 with a walk in his final regular season appearance in St. Louis. The 40-year-old Jones is retiring after the season and received a Cardinals jersey autographed by boyhood idol Stan Musial in a pregame ceremony.
"I've always enjoyed coming here and the fan base in St. Louis is part of that," Jones said. "You can have an opposing player hit three home runs against the Cardinals and these fans will give him an ovation for a job well done."
Furcal and Braves leadoff man Michael Bourn, who had two singles and an RBI in the eighth, have 51 hits apiece. Bourn entered the day leading the league in hits. Furcal's 309th stolen base passed Alex Rodriguez for 11th among active hitters. ... Greene is 2 for 17 for his career as a pinch hitter and Holliday is 4 for 20. ... A standing room crowd of 45,729 lured by a David Freese bobblehead giveaway, with hundreds standing in line 2 1/2 hours before game time, was the Cardinals' seventh sellout. ... Beltran is 9 for 25 with six homers, a double and triple and 13 RBIs his past six games. ... Lynn's previous pitch high was 110 at Chicago on April 25. ... Craig's homer was the first allowed by Martinez 10 appearances. ... The last team to sweep the Cardinals at home was the Dodgers on Aug. 22-24, 2011.