DENVER -- Phil Gosselin atoned for his hitless debut with a big day at the plate.

Gosselin homered and drove in four runs, Patrick Corbin pitched into the seventh inning and the Arizona Diamondbacks beat the Colorado Rockies 6-4 in the first game of a split doubleheader on Tuesday.

Gosselin, who was acquired in a June 20 trade with Atlanta, doubled home a run in the third, and then broke it open with a three-run shot off Miguel Castro (0-1) in the seventh. Gosselin went 0 for 4 in his first game with the Diamondbacks on Monday after being activated from the 60-day disabled list.

More from FoxSports

"I'm happy (manager) Chip (Hale) threw me back in there," Gosselin said. "Last night didn't go how I planned or the team planned so it was good to get an early game and get back in there."

His three-run shot to left went an estimated 434 feet and gave Arizona a 6-2 lead. It was the second home run of his career.

"He was having trouble throwing strikes so I figured he would come with a fastball at 2-1," Gosselin said. "He threw it over the plate and I didn't miss it."

Corbin (4-3) allowed two runs -- homers by DJ LeMahieu in the second and Kyle Parker in the fifth -- and seven hits in 6 1-3 innings. The left-hander is 5-0 in his last seven starts against the Rockies.

"Just hung a couple of breaking balls and they put good swings on them," Corbin said. "Today my changeup was good. Probably the first game since I've been back I've got to throw it and use it effectively. Fastball command was good, just a couple of breaking balls. It seems like a lot of their hits were on that."

Colorado left-hander Yohan Flande struck out five while pitching five innings of two-run ball. He gave up five hits and walked three.

The 20-year-old Castro was charged with four runs in 1 1-3 innings in his Colorado debut. He was acquired in the July 27 trade that sent Troy Tulowitzki to Toronto.

"Big arm," Rockies manager Walt Weiss said. "He left a fastball over the plate and Gosselin hit it out."

Jarrod Saltalamacchia gave Arizona a 1-0 lead after a little confusion on his drive down the left-field line in the second inning. It was initially ruled foul but after a review of 1 minute, 37 seconds, the call was overturned.

Hale was ejected by home plate umpire Tim Timmons before the review. Hale said something was said from the bench and Timmons tossed him.

"Once I was thrown out I had a few choice words," Hale said. "Somebody said something while he was going down the line to talk the other umpires that he didn't like. I was trying to make sure he knew I would take care of that."

TRIPLE THE FUN

The Rockies turned the fourth triple play in team history in the ninth inning.

With the runners on first and second moving on the pitch from Jason Gurka, Paul Goldschmidt hit a line drive to shortstop Jose Reyes, who was shaded up the middle. Reyes threw to LeMahieu to force out Ender Inciarte, and then LeMahieu relayed to first baseman Ben Paulsen to get Gosselin.

"I saw Inciarte running and the ball was hit right to me," Reyes said. "All I had to do was throw it over to DJ."

It was the first triple play for Colorado since May 18, 2014, against San Diego.

LEADING MAN

Colorado third baseman Nolan Arenado hit his 31st homer in the eighth, tying him with Bryce Harper and teammate Carlos Gonzalez for the NL lead. He also tied Goldschmidt for the NL RBI lead with 96.

TRAINER'S ROOM

Diamondbacks: RHP Brad Ziegler is fine after turning his ankle and injuring a finger on his pitching hand Monday. Ziegler rolled his ankle trying to make a play on a comebacker in the ninth inning.

Rockies: OF Corey Dickerson ran in the outfield Tuesday morning and could be activated soon. He has been out since Aug. 1 with a fractured rib.