SEATTLE -- The Atlanta Braves first took down the pitcher with the best ERA in baseball over the past two months and then rallied to beat one of the top rookies in either league.
And for a capper: the Braves knocked around reigning AL Cy Young Award winner Felix Hernandez.
Talk about an impressive three-game sweep.
"You never thought you would sweep a series against those guys," Atlanta rookie Freddie Freeman said. "We battled against those pitchers and came out on top."
Freeman got to Hernandez for three hits and two RBIs and the Braves beat Seattle 5-3 on Wednesday for their third consecutive victory against one of the Mariners' best starting pitchers.
The Braves won for the eighth time in 10 games and picked up their 25th road victory of the season. They handed losses to Hernandez, rookie star Michael Pineda and Erik Bedard during their rare trip to Seattle.
Freeman played a key role in the opener with a tiebreaking homer off Bedard and again came through against Hernandez (8-7). He started a two-out rally in the fourth inning, punching a single into left and scoring on Brooks Conrad's grounder back up the middle.
Freeman then capped the Braves' three-run fifth with a two-run single to right.
"It's a challenge and I like challenges," Freeman said about facing pitchers like Hernandez. "I don't know if my concentration level goes up or what but it's fun. It's a challenge for me and that's what you live for."
Derek Lowe (4-6) pitched six crisp innings for Atlanta, yielding one run and four hits to earn his first win since May 6 at Philadelphia. The right-hander was 0-3 with a 5.29 ERA in his previous nine starts.
Eric O'Flaherty followed Lowe with a perfect seventh, including Ichiro Suzuki swinging meekly at a third strike. Jonny Venters gave up a two-run homer to prized rookie Dustin Ackley with two outs in the eighth -- the first extra-base hit by a lefty against Venters this season.
Manager Fredi Gonzalez said the Braves will watch closely the amount of work Venters is getting, concerned about fatigue. Venters made his 46th appearance on Wednesday.
"I feel fine. It's just a rough stretch," Venters said. "I'm not making pitches and they're making me pay for it."
Craig Kimbrel then finished for his 23rd save in 28 chances, including all three games in the sweep.
Seattle (39-42) got an uneven performance from Hernandez and lost for the seventh time in nine games to fall three under .500 for the first time since May 21. The right-hander was knocked around for 10 hits, the fourth time in his last five starts he's allowed eight or more hits.
Hernandez was cruising early, retiring 11 of the first 12 batters -- including six strikeouts. But the Braves eventually got it going at the plate.
Freeman, Dan Uggla and Conrad had consecutive singles -- none sharply hit, but all well placed -- to give the Braves a 1-0 lead. Then Hernandez lost control in the fifth, throwing a pair of wild pitches that allowed Nate McLouth to score following a leadoff walk. Jordan Schafer singled and Jason Heyward also walked in the inning ahead of Freeman's two-run single.
The Braves added another run in the seventh when Brian McCann continued his hot hitting with an RBI single.
Surprisingly, Hernandez remained in the game until he walked McLouth with two out in the eighth on his 127th pitch -- his second-highest total of the season. Each of the 10 hits he allowed were singles.
"A lot of the ground balls were up the middle," Hernandez said. "I'm not mad about the game. I made good pitches."
Seattle's scuffling offense also continued to struggle. Lowe had allowed 13 earned runs in his previous three starts but the Mariners only got to him for Josh Bard's RBI single in the fifth.
Lowe knew he had to be on his game with Hernandez on the other side.
"I could not let the game get out of hand," Lowe said. "The early innings were important for me to keep it close."
Seattle manager Eric Wedge was ejected by home plate umpire Paul Emmel in the second inning after he became upset when Jack Cust was called out on a low third strike. It was his second ejection of the season.
Bard was selected from Triple-A Tacoma early Wednesday when catcher Chris Gimenez was placed on the 15-day disabled list. Seattle also selected catcher Jose Yepez from Tacoma and placed left-hander Bedard on the DL with a sprained left knee. Bedard lost Monday night's series opener against the Braves. ... Lowe had been receiving the second-lowest run support in the National League before Wednesday. ... Atlanta's Alex Gonzalez snapped an 0-for-19 skid with a single in the seventh inning.