DENVER (AP) Carlos Gonzalez has had an inconsistent season because of injuries. The 2010 batting champ showed what he can do when he's mostly healthy.
It was Gonzalez's first four-hit game since he went 5 for 5 against Texas exactly three months ago. He sparked the team to a rare win since the All-Star break.
''Hopefully it's a sign that CarGo's getting on track again,'' manager Walt Weiss said. ''We've seen him have a night like this many times. When he gets rolling it's something to see.''
Corey Dickerson had four hits, drove in three and was a homer shy of the cycle. Mike McKenry also homered for Colorado.
The Rockies hadn't won since beating the Cubs last week at Wrigley Field, but ended their struggles with a big sixth inning against starter Jake Arrieta (6-3). Trailing 4-3, the first seven batters had hits, including Gonzalez's 11th homer, a two-run shot that gave the Rockies a 6-4 lead.
Gonzalez, who has played in just 67 games because of a number of ailments, had not started since aggravating his sprained right ankle in Detroit on Friday.
Jordan Lyles (6-1) came off the 60-day disabled list to earn his first win since May 10. He allowed four runs on six hits in six innings in the first start by a Rockies right-hander in 21 games.
''Guys were hacking at good pitches and taking the dirty pitches that he threw up there,'' Dickerson said. ''We all had a pretty good plan.''
Arrieta, who had not allowed more than four runs in a game this season, gave up nine runs on 13 hits. The nine earned runs allowed matched a career high.
''They took advantage of some kind of breaking, spinning stuff over the middle of the plate, just stuff that didn't have enough bite to it,'' Arrieta said.
Colorado added four more runs off reliever Chris Rusin in the seventh on Dickerson's two-run single and McKenry's two-run homer.
''I was feeling it,'' Dickerson said. ''Everyone was feeding off each other later in the game.''
Cubs leftfielder Chris Coghlan led off the game with a triple and scored on a sacrifice fly. He singled and doubled in his next two at-bats but walked in his last plate appearance to finish a home run shy of the cycle.
Arismendy Alcantara made it 3-0 in the fourth with a two-run homer, his third of the season.
WINDS OF CHANGE
Lyles didn't sit idle in his two months off. The righty worked on a new changeup during his rehab and unveiled it against the Cubs. Lyles said he went from a circle change to a split change, and he thinks it could be a difference-maker for him.
''I've thrown it in three live (batting practice) sessions and two rehab starts and it's been a plus pitch,'' he said. ''Not one has been hit hard in those five appearances. The funny thing is the first one I throw Coghlan hits it for a triple. I'm excited about that pitch.''
IT'S NEVER OVER UNTIL IT'S OVER
Despite being down nine runs in the ninth inning, Cubs manager Rick Renteria challenged a play at first on the final out of the game. He felt pinch-hitter Junior Lake beat the relay throw from pitcher Brooks Brown to first and asked for a review. After 2 minutes, 1 second, the call was upheld.
Cubs: Fujikawa came off the 60-day DL list before the game after missing nearly 14 months due to Tommy John surgery. He threw 10 pitches, hitting Charlie Blackmon with a pitch before getting out of the inning with a double play and a flyout.
Rockies: Lefty Brett Anderson went on the 15-day disabled list because of a lower back strain. Anderson was injured on the first pitch of the fourth inning Tuesday night and left the game. He had trouble walking the rest of the night but was moving gingerly Wednesday. ''He's doing a little bit better today,'' manager Walt Weiss said. ''With a back you never know. We'll probably have to run some tests, but he's walking today.''
Cubs: Right-hander Kyle Hendricks (2-1, 2.05) is the first Cubs rookie to record three consecutive quality starts since Casey Coleman had four straight in 2010. He allowed just one run in seven innings against the Dodgers on Friday.
Rockies: Yohan Flande (0-3, 5.72) has seen plenty of the Cubs in a short time. He went 6 2-3 innings against them June 28 and took the loss despite allowing just two runs and striking out a career-high eight. Three days later, he pitched 1 2-3 innings of relief in the series final at Wrigley Field.