THE MIAMI Marlins rewarded their manager with the best possible birthday gift.

Casey McGehee hit a sharp grounder that caromed into right field off the back of reliever Gonzalez Germen's foot, allowing the winning run to score, and the Miami Marlins rallied late from a three-run deficit last night to beat the visiting Mets, 4-3.

"I didn't get [gifts], but I'll take the win," said Miami manager Mike Redmond, who turned 43. "The presents stopped coming about 5, 6 years ago."

Jarrod Saltalamacchia hit a tying double in the eighth off Daisuke Matsuzaka, who failed to retire any of the five batters he faced in relief of Jonathon Niese.

Giancarlo Stanton had an RBI single and the Marlins scored another run on shortstop Omar Quintanilla's fielding error in the eighth.

Christian Yelich led off the ninth with a single off Scott Rice (0-1). He advanced to second on Ed Lucas' sacrifice. Germen intentionally walked Giancarlo Stanton before McGehee got his RBI single.

"Everybody kind of knew they were going to walk Stanton there," McGehee. "I just tried to have a good at-bat. I was able to get a ball to hit hard."

Marlins closer Steve Cishek (2-1) pitched to a scoreless ninth for the win. Miami is now 15-5 at home and 6-1 in its current nine-game homestand. The Marlins have won two in a row in their final at-bat.

Christian Yelich and Ed Lucas led off the eighth with walks. Stanton followed with an RBI single and Quintanilla let McGehee get through his legs, allowing Lucas to score. Saltalamacchia doubled to right-center to make it 3-all.

"Any time you can get on the board and you can get into a position that you can tie the ball game, I felt good," Saltalamacchia said. "I've caught Daisuke before so I have seen his stuff. I was pretty comfortable up there. I was able to get decent wood in it."

Kyle Farnsworth relieved Matsuzaka and with the infield drawn in retired Jeff Baker on a grounder to second. Farnsworth walked pinch-hitter Garret Jones and struck out Adeiny Hechavarria and retired Marcel Ozuna on a grounder to third.

"When I was warming up in the bullpen, I was struggling with my command," Matsuzaka said through an interpreter. "I tried to focus on the batter and getting outs. I really regret taking away Niese's win the team's win."

Niese pitched seven shutout innings and allowed five hits, struck out six and walked one but was replaced after throwing 108 pitches. Niese has permitted one run or less in his last four starts.

"Anytime a game is lost, it's tough to watch," Niese said. "But it's just one game. I never want to leave a game but 108 pitches, I figured our bullpen has been doing great."

Daniel Murphy and Curtis Granderson homered off Miami's Nathan Eovaldi in the first inning for 2-0 lead. Murphy's shot over the fence in rightfield was his first of the season and Granderson hit his third with a drive that bounced off the upper deck in right-centerfield.

Bobby Abreu had a sacrifice fly to left, scoring David Wright in the fourth. Wright led off the inning with a double and advanced to third on Grandeson's single.

"The Marlins have been hot, especially in this park and late," Mets manager Terry Collins said. "They can be really tough."

In NL games

* At Atlanta, Matt Carpenter's two-run double in the fifth inning helped carry the St. Louis Cardinals past the slumping Braves, who shook up their lineup but still lost their seventh in a row, 4-3.

Desperate for more offense, Braves manager Fredi Gonzalez batted pitcher Aaron Harang (3-3) eighth and put second baseman Ramiro Pena in the ninth spot. Pena had two hits, including a seventh-inning homer that brought the Braves within a run, but they couldn't overcome a 4-0 deficit.

* At Milwaukee, Carlos Gomez hit a home run and drove in three runs to lead the Brewers to an 8-3 win over the Arizona Diamondbacks. Martin Maldonado and Jean Segura also homered for Milwaukee, which had lost four of its last five entering the game.

In AL games

* At Cleveland, Eduardo Escobar homered leading off the 10th inning against closer John Axford (0-3), giving the Minnesota Twins a 1-0 win over the Indians.

* At Detroit, Max Scherzer (4-1) pitched three-hit ball and struck out nine over eight innings, leading the Tigers past the Houston Astros, 2-0, for their season-high sixth straight victory.

In interleague

* At Chicago, Marcus Semien hit an RBI double in the 12th inning to help the White Sox to a 3-1 win over the Cubs at Wrigley Field.

* At Denver, Jordan Lyles (4-0) pitched eight strong innings and Troy Tulowitzki hit two two-run homers to help the Colorado Rockies to an 8-2 win over the Texas Rangers.

Noteworthy

* Yasiel Puig was out of the Dodgers' starting lineup last night in Washington, recovering from a jarring crash into an outfield wall. Manager Don Mattingly said Puig remained day-to-day and could possibly make an appearance as a pinch-hitter. Puig rammed his head, left arm and lower left leg against the fence as he tried to track down Jeff Baker's game-winning double in the bottom of the ninth of Sunday's 5-4 loss at Miami. The ball deflected off the wall and hit Puig in the face.

* White Sox ace Chris Sale says he feels fine after throwing his first bullpen session since injuring his left arm and will go on a rehab assignment in the coming weeks.