The sole run came from Mike Stanton’s seventh-inning homer.
Marlins closer Leo Nunez gave up a walk and a single to start the ninth, then escaped the first-and-second jam for his 14th save in 14 chances.
Livan Hernandez (3-5) matched Sanchez for six innings before taking his third straight loss.
Giants 3, Cubs 0, 6 innings, rain
In Chicago, Ryan Vogelsong pitched six scoreless innings in a rain-shortened game for his first career shutout and San Francisco beat Chicago. Vogelsong (3-0) struck out seven in his first complete game.
In other NL action, it was:
‧ Padres 9, Rockies 7
‧ Brewers 8, Pirates 2
‧ Diamondbacks 1, Dodgers 0
‧ Astros 7, Mets 3