SAN DIEGO - Brandon McCarthy threw seven superb innings and Alfredo Marte drove in two runs as the Arizona Diamondbacks survived a ninth-inning rally for a 4-3 win over the San Diego Padres on Saturday night.
The Diamondbacks handed San Diego its fourth straight loss as the major-leagues' worst offensive team avoided its third shutout in four game with three runs in the ninth.
McCarthy (1-5), who tied his career high with his fifth straight loss in his last start, gave up three hits, including two doubles to Seth Smith, and allowed just one runner to reach third base. He struck out six and walked one.
The Diamondbacks, who came into the game with the majors' highest ERA at 5.03, had their scoreless innings string snapped at 24 innings when J.J. Putz allowed a one-out single to Smith and an RBI double to Yasmani Grandal.
Addison Reed then surrendered Jedd Gyroko's two-run homer. After getting an out, Reed gave up Cameron Maybin's double and walked pinch hitter Will Venable. Reed ended the game by getting Xavier Nady on a flyout for his eighth save in nine chances.
The Padres scored more runs in the game then they had in their previous three games combined.
San Diego entered the game last in the majors in runs per game, on-base percentage, slugging percentage, and was tied for the worst batting average at .213.
Ian Kennedy (2-4) allowed three runs on 11 hits over five innings with seven strikeouts and one walk. Kennedy is 1-1 with a 6.06 ERA in three starts against his former team.
The Diamondbacks went ahead 2-0 in the second on Miguel Montero's leadoff homer and consecutive doubles by Chris Owings and Marte.
Arizona tacked on one run in the fifth on three straights singles, including Owings' RBI hit to left, and another in the seventh on Marte's infield single.
Owings and Montero each had three hits to lead the Diamondbacks' 14-hit attack.