DENVER - The Colorado Rockies are surging this May instead of swooning.

With Memorial Day approaching, the Rockies are actually right on the heels of the NL West leaders, especially after going 5-2 on their recent home stand.

"Back on track," Carlos Gonzalez proudly proclaimed.

Indeed, they are.

Gonzalez homered and drove in two runs, Jorge De La Rosa pitched effectively into the sixth, and the Rockies beat Arizona 4-1 on Wednesday to take two of three from the Diamondbacks.

Dexter Fowler had two hits in his first start in the cleanup spot as the Rockies caught Arizona and San Francisco in the NL West, all tied for first at 26-21.

Last season, the Rockies started well enough, only to slide in May and fade the rest of the way to finish with a franchise-worst 98 losses.

After winning series over San Francisco and Arizona, the Rockies' swagger has returned.

"This is a good feeling and creates a lot of motivation for us," said Gonzalez, whose team was 18-29 last season at this point and 14 games out of first.

De La Rosa (6-3) kept up his mastery against Arizona at Coors Field, improving to 8-0 with a 1.38 ERA. He struck out five and allowed six hits in 5 1/3 innings.

Relievers Edgmer Escalona and Matt Belisle bottled up Arizona to get the ball to Rex Brothers, who closed the ninth with Rafael Betancourt sidelined by a groin injury. It was Brothers' first save of the season, prodded by some motivational words from catcher Yorvit Torrealba.

"He came out and said, 'Pretend like it's the eighth. I'm tired. Hurry up,'" Brothers said.

Arizona starter Trevor Cahill (3-5) didn't have his best stuff early but found his groove and made it through six innings, allowing four runs. Cahill has allowed four earned runs or fewer in 28 straight starts, which is the longest active streak in the majors.

"It is tough here," Cahill said. "The ball doesn't move as much. But I got more command as the game went on."

Gonzalez hit Cahill hard all afternoon, giving the Rockies an early lead when he sent a fastball over the right field wall in the first. The player nicknamed CarGo drove in another run with a triple two innings later.

"Too good of a hitter to throw pitches down the middle," Cahill said.

Manager Walt Weiss went with a rather unorthodox lineup, moving the speedy Fowler from his usual leadoff spot to cleanup. Weiss figured he would give Fowler a chance with Troy Tulowitzki receiving a rest day.

Fowler finished 2 for 4 with a double and scored a run.

There was some drama in the sixth when Fowler sent a high fly to right that appeared to hit off the wall in fair territory. But first base umpire Doug Eddings ruled it foul, which brought Weiss out to discuss the call.

The umpires briefly huddled on the field and headed in to look at the play, even though the hit in question didn't appear to be a home run (only home runs can be reviewed).

Television replays confirmed that Eddings made the correct call as a distinctive white mark was left on the green wall where the ball hit.

Trailing 4-0 in the fourth, the Diamondbacks scored a run when Wil Nieves' double to left-center brought in Cody Ross, who led off the inning with a single. De La Rosa got Josh Wilson to fly out to prevent any further damage.

De La Rosa also worked his way out of a jam in the third after allowing a double by Cahill and walking Didi Gregorius. Paul Goldschmidt hit a soft roller to third to end the threat.