With the victory, the D-backs lead in the National League West increased to two games over the Dodgers. Arizona has now won eight of its last 10 games.
The game was a battle of sinkerball pitchers, with Brandon Webb and Derek Lowe both doing their best to kill the grass with ground-ball out after ground-ball out.
"In my eyes, it's the biggest game we've played all year," Webb said. "These guys are right on our tails."
The right-hander scattered six hits over eight innings to become the Majors' first 15-game winner.
"That was probably some of the best stuff I've had all year," Webb said. "I was able to keep the ball down when I wanted to. My changeup was real good, and mechanically, I felt real sound."
The Dodgers have struggled against Webb, as he has won eight of his last nine starts against them and the only game he didn't win, he held them to just one run over eight innings and left with a lead.
The Dodgers grabbed a 1-0 lead in the sixth when Russell Martin flared a ball toward second that just short-hopped Orlando Hudson. That prevented him from throwing out Juan Pierre trying to score from third, and it also kept him from turning a double play.
The D-backs erased the deficit and took a 2-1 lead in the seventh thanks to Mark Reynolds' RBI double and an RBI single by Chris Snyder.
As they've been doing a lot lately, the D-backs executed well at the plate in the inning with Reynolds going the other way with a pitch and Snyder driving his single up the middle.
"They did some good things to execute in their inning and we did some in ours," D-backs manager Bob Melvin said. "Mark didn't try to do too much and stayed the other way and Snydes just staying up the middle. We had four real good at-bats in a row right there, and it ended up winning the game for us."
That was all the offensive support that Webb would need, though there were some anxious moments for him in the eighth.
Andre Ethier, who did not start the game because of flu-like symptoms, led off the inning with a pinch-hit single to make him 7-for-15 in his career against Webb. Mark Sweeney followed with a pinch-hit single of his own, and a Pierre sacrifice bunt put runners at second and third with just one out.
Matt Kemp then lifted a fly ball to shallow left, where Conor Jackson caught it and threw a strike to Snyder at the plate to nail Ethier.
"He's proud of his defense right now," Melvin said of Jackson, who moved from first to left after Eric Byrnes' season-ending injury. "He's been working hard every day. Came in read the ball pretty well, had his feet underneath him in good position to throw, made a good throw and Snydes made a good tag. Not only do we get the out, we get the emotion back in our duguout."
Said Jackson, "I feel good out there, I feel comfortable. My biggest thing was just keep the ball down, hit the cutoff and keep it reasonably in the area of the plate so they can make a play."
Either slide to the pitcher's mound side of home plate and swept the plate with his right hand, but not before Snyder got him.
"I got him on the shoulder," said Snyder, who held the ball in his right hand while pumping his fist as he jogged towards the dugout. You've got to sell out in a situation like that; that's the game right there."
Brandon Lyon closed things out in the ninth for his 23rd save. It was quite a contrast to the last time these two teams met a couple of weeks ago in Phoenix, when Lyon allowed seven runs in 1 2/3 innings over back-to-back nights. Despite that, Melvin had no hesitation in going to him.
"He just had a couple of off games at our place against the Dodgers," Melvin said.
Steve Gilbert is a reporter for MLB.com. This story was not subject to the approval of Major League Baseball or its clubs.