Thairo Estrada homered in the seventh, Wilmer Flores connected in the eighth and the San Francisco Giants held on to beat the Chicago Cubs 4-2 on Sunday night.
The Giants kept the Cubs' offense in check while using six pitchers on a bullpen day, though Zach McKinstry had four hits for the Cubs, who have dropped 15 of 21.
Estrada, Evan Longoria and Austin Dean had two hits each for the Giants, who had lost five of six.
Flores hit a two-run shot off Hayden Wesneski (1-1) after Lewis Brinson walked for his 18th homer of the season, matching a career high and snapping an 0-for-19 skid.
Estrada led off the seventh with his 13th of the season. The homer ended Wesneski's streak of six scoreless innings to begin his major league career.
Seiya Suzuki homered off Scott Alexander in the eighth to pull the Cubs within 4-2.
Left-handed starter Wade Miley gave up a run and four hits, struck out five and walked one in five innings for the Cubs. It was his second outing after missing three months with a shoulder injury.
Javier Assad (0-1, 2.93) is scheduled to start Monday at New York. RHP Chris Bassitt (13-7, 3.24) is slated for the Mets.