Adam LaRoche, Stephen Drew and Kelly Johnson homered to help deny Ubaldo Jimenez his 20th victory and the Arizona Diamondbacks sent the Colorado Rockies to their third loss in a row, 8-4 on Wednesday night.

Jimenez (19-7) lasted just four innings, giving up five runs on six hits. He couldn't hold a 4-0 lead Colorado gave him in the first on Melvin Mora's three-run homer and Todd Helton's solo shot.

The Rockies lost a half-game in the NL West race, falling three behind first-place San Diego.

Rodrigo Lopez (7-14) retired 13 of the last 14 Colorado hitters he faced. Four relievers held the Rockies scoreless over the final four innings.

Sam Demel pitched 1 2-3 innings to get his second save in two tries.

Chris Young's two-run single with two outs in the fourth put Arizona up 5-4. The last-place Diamondbacks added three in the eighth, two on Johnson's 24th home run of the season.

Jimenez gave up two homers in a game for the first time this year and fell to 4-6 in 13 starts since beginning the season 15-1. The Rockies are 3-5 after winning 10 in a row.

Mora, batting over .300 since replacing the injured Ian Stewart at third base 20 games ago, hit Lopez's full-count pitch onto the concourse in deep left field, where a fan caught it. Helton followed with a solo homer to make it 4-0 in a hurry.

Drew led off the Arizona first with an opposite-field line drive over the fence in left field to cut it to 4-1.

Jimenez's fastball hit 100 mph on the ballpark radar gun early, but the Diamondbacks got to him for two in the third and two in the fourth.

LaRoche's 24th home run of the season brought home two runs in the third to cut the lead to 4-3.

The Colorado ace almost escaped the fourth-inning jam after Brandon Allen drew a leadoff walk and Gerardo Parra beat out a bunt single. Lopez squared for the anticipated sacrifice bunt, then brought the bat back and swung away, grounding into a double play.

But Drew walked on four pitches and stole second, then Young looped a single to left. Ryan Spilborghs bobbled the ball briefly as Allen and Drew scored on what was ruled a two-run single.

Notes: Jimenez had given up one home run in his previous 11 starts, none in his last five. ... LaRoche increased his career-best RBI total to 95. ... Colorado manager Jim Tracy says Jason Hammel will be on a short leash when he starts against San Francisco on Saturday. Hammel was lifted in the fourth inning Sunday against Los Angeles because of a tired arm. ... The Rockies fell to 31-45 on the road. ... The Diamondbacks fanned 14 times one night after breaking the major league single-season strikeout record.