The win was the second in a row for the D-backs, who had lost their previous six games and are trying to build some momentum heading into the coming All-Star break.
"These are big games for us," D-backs manager Kirk Gibson said. "Really big games for us."
The D-backs, who moved within five games of the first-place Dodgers in the National League West, wrap up the four-game series as well as the season's first half Sunday afternoon.
"We beat another good pitcher tonight, a good team," left fielder Jason Kubel said. "We felt good about last night, and we continued that today, and hopefully we'll do that tomorrow."
The game certainly didn't start out well for the D-backs or Trevor Cahill as the right-hander allowed a one-out double to Luis Cruz in the first and a two-run homer to Jerry Hairston.
"I've been making my mistakes up a lot more and giving up some more home runs lately, so I just have to make sure if I miss, I miss down," Cahill said.
Chad Billingsley, meanwhile, handcuffed the D-backs through the first four innings, holding them to just two hits.
"Billingsley pitched pretty efficient and he was pretty quick early on," Cahill said.
In the fifth, Miguel Montero led off with a double and moved to third on Geoff Blum's single.
Parra then lined a double into the left-field corner to score two and tie the game. Parra would later come around and score on Stephen Drew's sacrifice fly as the D-backs jumped on top, 3-2.
After starting in left field last year and winning a Gold Glove, Parra found himself on the bench Opening Day after the D-backs signed Kubel to a free-agent deal over the winter.
While Parra got extended playing time due to an injury to center fielder Chris Young, he was back on the bench when Young returned.
However, with Young struggling to regain his pre-injury form at the plate and Parra continuing to provide a spark when he plays, Gibson might have a hard time taking him out of the lineup.
"He had a good game for us today, big hit obviously, two RBIs," Gibson said. "He wants to play, and when he doesn't play he's got great enthusiasm on the bench. He has a very consistent demeanor."
The D-backs added another run in the sixth when Paul Goldschmidt's sacrifice fly plated Justin Upton.
In both the fifth and sixth innings, the D-backs did a good job of advancing the runner from second to third and then getting him from third to home.
"I like to see stuff like that," Gibson said. "We work on that every day in batting practice."
A.J. Ellis brought the Dodgers to within 4-3 with a homer to lead off the seventh inning. But Kubel added an insurance run for the D-backs with a homer in the eighth, his 15th of the season.
Cahill (7-7) got the win for the D-backs, allowing three runs on six hits over seven innings.
"It was big for him to get through seven innings for us tonight," Gibson said. "Just bullpen-wise, I didn't want to use everybody. Seven innings makes tomorrow's game much better as well."
Cahill stuck mainly with his sinker and curve and did not go to the changeup as much as in recent starts.
"I felt pretty good," Cahill said. "I'm always trying to go at least seven innings. I was just fortunate to be able to do that."
Billingsley (4-9) was saddled with the loss a day after the D-backs rallied off Clayton Kershaw.
"They have a good club," Dodgers manager Don Mattingly said. "I'm going to give them credit all the time, but you have to make pitches and execute."