PHOENIX -- Conor Jackson is sure the Arizona Diamondbacks are better than their lost June suggests. For one game, they proved it.
Orlando Hudson homered for the second consecutive game and drove in four runs, Jackson went 4-for-5 with a double and two runs, and Arizona beat the Los Angeles Angels 9-7 Sunday to snap a five-game losing streak.
"We're good, there's no doubt about it," Jackson said. "We know how good we are."
The Diamondbacks won for only the third time in 20 games despite throwing five wild pitches. Arizona, which also improved to 1-8 in interleague play, is 2-10 in its last 12 at home.
Despite the three-week free-fall, the Diamondbacks have lost only six games in the standings. They trail the NL West-leading Dodgers by 3½ games after leading the division by 2½ on June 5.
"You're going to go through spells like this, but we're in the West," Jackson said. "Nobody is out of it."
Kendry Morales homered and drove in two runs for the Angels, who had their three-game winning streak snapped.
"I think we did a lot of the things we need to do, particularly on the offensive side," Angels manager Mike Scioscia said. "Our challenge is looking forward and bringing a consistent game on the field each night. That's been a struggle for us."
With the score tied at 4 in the fifth inning, Kelvim Escobar walked Chad Tracy and gave up a solid single to Jackson. Escobar (5-9) struck out Shawn Green before Hudson hit the first pitch he saw a half-dozen rows up into the right-field stands for his fifth homer and a 7-4 Arizona lead.
"He's probably been swinging the bat better than anyone we've had during this situation," Arizona manager Bob Melvin said. "He's not only getting big hits but getting them two or three at a time."
Craig Counsell added a two-out RBI double off reliever J.C. Romero to make it 8-4.
The Angels scored single runs in the sixth and seventh on Morales' homer and an RBI groundout by Mike Napoli to pull to 8-6.
Miguel Batista overcame some early control problems and made the lead stand up as he scattered seven hits over seven innings. Batista (7-5) allowed six runs, walked three, struck out three and added an RBI single to snap his three-game losing streak.
"I may lead the league in hits allowed, but how many guys hit the ball to the wall," said Batista, tied with Houston's Andy Pettitte with 126 hits allowed. "I gave up seven hits and the home run, but how many other balls did they hit off the wall?"
Jorge Julio pitched a hitless ninth for his sixth save in six opportunities. He threw a run-scoring wild pitch but retired pinch-hitter Garret Anderson in an 11-pitch at-bat with a runner on to end it.
"He went foul, foul, foul," Julio said. "That's OK. I throw fastball, fastball, fastball."
Escobar lasted just 4 2/3 innings, his second-shortest start of the season. He allowed eight runs, nine hits and matched a season high with five walks.
"My command was a little bit off and when I got ahead I wasn't able to make that good pitch to finish them up," Escobar said.
Six consecutive Diamondbacks reached base safely to start the second as Arizona rallied from an early two-run deficit with a four-run inning.
Jackson, Green and Hudson all singled, with Jackson scoring on Hudson's hit to cut the Angels' lead to 2-1. Chris Snyder walked and Batista followed with a one-hop bouncer into left to score Green and tie the game.
Counsell drove in Hudson on a single to right, Arizona's fifth of the inning, and Jeff DaVanon capped the rally with a sacrifice fly to make it 4-2.
"He has had some leads here and over the last couple of starts that he hasn't been able to hold," Scioscia said. "But I think Esky has a good idea of what he needs to do. It's just a matter of doing it."
Los Angeles tied it at 4 in the third on an RBI single by Morales and Tommy Murphy's run-scoring double.
The Angels took a 2-0 lead before getting their first hit off Batista.
Maicer Izturis led off the game with a walk, went to second on a wild pitch, advanced to third on a groundout and scored on another wild pitch.
In the second, Tim Salmon led off with a walk, moved to second on Batista's third wild pitch of the game, went to third on a grounder and came home on Murphy's suicide squeeze.
"At some point you just have to keep battling and put away the inning before," Melvin said.
Jackson's four-hit game was his first and the 11th by an Arizona hitter this season. ... Escobar has allowed eight runs in a game three times this season. ... Batista has allowed four runs or more in each of his last four starts. ... Angels SS Orlando Cabrera walked in the fourth to reach base for the 53rd consecutive game, the longest streak in the majors since Yankees star Alex Rodriguez also reached safely in 53 straight games in 2004. ... Melvin remained in the dugout during an eighth-inning pitching change, sending pitching coach Bryan Price on a rare trip to the mound to make the switch instead.