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.
Crawford hiked his average to .215.
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.
It was a heady moment for the Giants, who were outscored 62-20 during their losing streak.
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 departed with a 1-0 lead. He worked around two hits, five walks and a hit batsman.
Before the game the Marlins recalled RHP Jeff Brigham from Triple-A New Orleans and optioned RHP Elieser Hernandez to New Orleans. OF Isaac Galloway cleared waivers and accepted outright assignment to New Orleans.
Marlins 1B Neil Walker (strained right quad) left the game in the seventh inning and is day to day.
Giants: LHP Drew Pomeranz (1-5, 6.45) is scheduled to start Friday when the Giants begin a three-game series in Baltimore. Pomeranz lasted just 2 2/3 innings in his most recent outing, when San Francisco lost to Arizona 18-2.
Marlins: LHP Caleb Smith (3-2, 3.05) is scheduled to take the mound Friday at San Diego to start a six-game trip. Smith has allowed one run in 12 1/3 innings in two starts against the Padres.