ATLANTA -- John Buck's first home run of the season proved to be the difference in the Seattle Mariners' 7-5, come-from-behind win over the Atlanta Braves on Tuesday.

The Mariners fought back from a four-run first-inning deficit, tied the game in the fifth and took the lead on Buck's two-run opposite-field homer to right field in the seventh. Seattle extended its winning streak to four games.

Buck, the Mariners' catcher, had three hits, reached on an error and scored three runs. The homer, the seventh of his career against Atlanta, came off reliever Alex Wood (5-6).

Wood retired the first two batters he faced in the seventh, but the inning stayed alive when Atlanta first baseman Freddie Freeman could not make a barehanded play on a squibber off the bat of left fielder Dustin Ackley. Buck used the opportunity to deliver the decisive blow, only the second homer allowed by Wood.

The winning pitcher was reliever Dominic Leone (2-0), who did not allow a baserunner and struck out four in two scoreless innings. Fernando Rodney pitched a scoreless ninth and struck out two to earn his 15th save in 19 opportunities. The four Seattle relievers combined to throw six scoreless innings and strike out nine.

Neither starting pitcher figured in the decision. Atlanta's Gavin Floyd left after giving up five runs on 10 hits in five innings, and Seattle's Erasmo Ramirez was pulled after allowing five runs in three innings.

The Braves jumped on Ramirez for four quick runs in the first inning.

Right fielder Jason Heyward led off with a double and went to third on a single by center fielder B.J. Upton. Freeman knocked in Heyward with a single, and he stole second. After left fielder Justin Upton struck out, catcher Evan Gattis hit the first pitch he saw from Ramirez for a three-run, opposite-field home run to right.

The Mariners scored two unearned runs in the second inning. Buck reached second when third baseman Chris Johnson fielded a routine grounder and threw wildly past Freeman and into the stands. Buck scored when shortstop Brad Miller singled to center. Miller advanced to second on a sacrifice by Ramirez and scored on a single by center fielder James Jones.

The Braves got a run back when B.J. Upton hit a solo homer, his fifth, to straightaway center field with two outs in the bottom of the second.

The Mariners tied the game in the fourth on a three-run homer by pinch hitter Stefan Romero, his third. The blast to left-center scored Buck, who singled, and Miller, who walked.

NOTES: The Mariners recalled RHP Erasmo Ramirez from Triple-A Tacoma to make the start against Atlanta. To make room on the roster, Seattle sent INF Nick Franklin to Tacoma. Franklin was hitting .129 (4-for-31) with 15 strikeouts since being recalled May 20. ... Seattle manager Lloyd McClendon moved 3B Kyle Seager into the cleanup spot for the fourth time and dropped slumping 1B Justin Smoak to the fifth spot. Smoak batted cleanup 23 games, largely since RF Corey Hart injured his left hamstring on May 23.