PHOENIX - Brandon Belt hit a two-run single in the eighth inning, helping the San Francisco Giants beat the Arizona Diamondbacks 6-4 Monday night to end a five-game losing streak.
Belt also had a solo homer in the second inning against Ian Kennedy. The first baseman broke a 4-all tie in the eighth after Brad Ziegler (1-1) gave up a leadoff double to Nick Noonan and walked two.
Marco Scutaro had three hits and scored two runs for the World Series champion Giants. Jean Machi (1-0) pitched a perfect seventh inning for his first win in the majors and Sergio Romo worked the ninth for his ninth save.
The Diamondbacks scored all four of their runs in the fourth inning on homers off Matt Cain.
Jason Kubel had a two-run shot and Eric Chavez and Martin Prado each hit a solo drive, but Arizona had two more hits.
A three-time All-Star, Cain finally got some run support, but continued to struggle with the long ball.
The Giants scored three runs in his first five starts and matched that in the first two innings.
San Francisco scored a pair of runs off Kennedy in the first inning on a sacrifice fly by Hunter Pence and Gregor Blanco's run-scoring single. Belt led off the second with a drive to right to make it 3-0.
Cain allowed six homers in his previous three starts, and the balls kept flying over the walls in the fourth against Arizona.
He walked Cody Ross to lead off the inning and Kubel sent the next pitch over the wall with a towering shot to right. Chavez tied it two pitches later with a line-drive solo shot that cleared the wall in left.
Prado hit a third homer in the inning -- a first for Arizona since Aug. 11, 2010, at Milwaukee -- when he drove a 1-2 pitch that Cain left over the plate near where Chavez's homer landed.
Once cruising, Cain found himself trailing 4-3 after Arizona's homer barrage.
Cain allowed five hits, struck out six and walked four in six innings. He didn't figure in the decision, though, after Pablo Sandoval hit a tying run-scoring single in the fifth.
Kennedy allowed four runs and seven hits in seven innings.
NOTES: Arizona RHP Daniel Hudson threw about 30 pitches in a simulated game and another 20 during warmups in the latest step toward his return from Tommy John surgery last season. The Diamondbacks hope to have him back before the All-Star break. ... Arizona OF Gerardo Parra went 0 for 5 to end a 13-game hitting streak. ... Sandoval left after the sixth inning with what the team said was right elbow discomfort. ... Giants LHP Madison Bumgarner will be looking to start the season 4-0 against the Diamondbacks on Tuesday. He received a no-decision in his last start, allowing a run in 7 2-3 innings against the Diamondbacks on Wednesday. ... Arizona RHP Trevor Cahill will be trying for his second straight win Tuesday against the Giants after opening the season with three straight losses.