Marlins 6, Cardinals 5: Casey McGehee ripped his second RBI single to tie the contest with two outs in the ninth inning before coming around to score on Jeff Baker's base hit as Miami snapped a six-game losing skid in the Gateway City.With St. Louis nursing a 5-4 advantage in the ninth inning, Trevor Rosenthal (0-4) struck out Giancarlo Stanton to move within one out of his 27th save. McGehee survived an 11-pitch at-bat and lined a shot to right field to plate former Cardinals farmhand Donovan Solano before coming around to score on Baker's liner to left off Sam Freeman.Christian Yelich belted a three-run homer to continue his torrid stretch since returning from the disabled list for the Marlins, who posted just their third win in nine outings. McGehee's initial RBI single extended his hitting streak to 12 games, Mike Dunn (6-4) tossed a scoreless eighth inning to pick up the win and Steve Cishek secured his 19th save.Allen Craig belted a two-run home run and Jhonny Peralta followed with a solo shot in the fourth inning for St. Louis, which was dealt a blow prior to the game when pitcher Jaime Garcia admitted that he is dealing with nerve issues and was considering season-ending surgery. Yadier Molina and Matt Holliday added RBI singles, but the Cardinals were unable to preserve a four-run lead.After the teams traded RBI singles in the first inning, Holliday gave St. Louis a 2-1 edge with a single to right field in the fourth. Craig, who returned to the lineup after a two-game absence, deposited a 2-0 fastball from rookie Andrew Heaney over the wall in right-center field for his seventh homer before Peralta followed suit with a blast to left.GAME NOTEBOOK: Yelich, who went 2-for-5, is 9-for-27 with five runs scored in six games since returning from a back injury. ... St. Louis 3B Matt Carpenter went 0-for-4 to see his nine-game hitting streak come to an end. ... Miami CF Marcell Ozuna led off the fourth with a double to push his hitting streak to 11 contests.