Brandon Crawford hit a tiebreaking two-run double in the eighth inning, and the San Francisco Giants broke a seven-game losing streak by rallying past the Miami Marlins 3-1 Thursday.
San Francisco's Tyler Beede, recalled before the game from Triple-A Sacramento, allowed one run in six innings to lower his ERA in four appearances to 7.82. Three relievers completed a seven-hitter.
The Giants averted a series sweep against the team with the National League's worst record, and won with six hits. They trailed 1-0 in the seventh when Crawford doubled and scored on a single by Mike Yastrzemski, who earned his first career RBI.
With the score 1-all, Adam Conley (1-5) walked pinch hitter Buster Posey in the eighth. Brandon Belt followed with a broken-bat single, and Evan Longoria walked to load the bases. Crawford greeted Wei-Yin Chen with a ground-rule double for a 3-1 lead.
Reyes Moronta (2-4) worked a scoreless seventh. Will Smith pitched a perfect ninth for his 13th save.
Sandy Alcantara pitched six innings, singled home the Marlins' lone run and worked around two hits, five walks and a hit batsman.