SAN FRANCISCO — Lasting five innings is not usually an accomplishment for a workhorse such as Matt Cain.
Considering the way his past two starts went, that had to feel pretty satisfying.
Cain bounced back from those abbreviated rough outings to win for the first time in more than a month as the San Francisco Giants beat the first-place Arizona Diamondbacks for a second straight night, winning 4-3 on Saturday.
Buster Posey hit a two-run homer to lead the offense but the bigger story was Cain (6-6). He allowed two runs in five-plus innings after failing to make it out of the third inning his past two starts to win for the first time since June 13 at Pittsburgh.
"You go out there and you can't even make it through an inning, that's never any fun," Cain said. "But you kind of have to put it past you. As a starter, that's beaten into you that you want to go out and throw seven innings. You feel like you let your guys down. That's the biggest thing. You feel like you put your team in a rut."
While Cain was unable to retire a batter in the sixth, the work from seven relievers helped make sure he got the win that helped the World Series champion Giants cut their deficit in the NL West to 4 1/2 games behind Arizona.
The Diamondbacks' lead over the Los Angeles Dodgers fell to a half-game as Wade Miley (6-8) lasted just four innings and All-Star Paul Goldschmidt failed to deliver in a key spot for the second straight game.
"This division, nobody seems to want to run away with it," Arizona outfielder Cody Ross said. "It's there for the taking. As bad as we've been playing, we're still a half game up."
Cain was coming off two disastrous starts before the All-Star break. He gave up eight runs and was knocked out in the third inning of a loss to the Dodgers on July 5 and retired only two batters and gave up three runs to the Mets five days later in his shortest career start.
But Cain looked sharp early, striking out two batters in the first.