Lester allowed only one hit and one walk to go along with the 10 strikeouts, which included striking out the side in the third and fourth innings.
''We got some good work in today,'' he said. ''The cutter was good, which is good because it means I am staying on my line.''
His homer off Scott Oberg highlighted a seven-run fourth inning in which the Cubs hammered out two doubles, both by David Ross, and Lester and Kyle Schwarber went back to back.
Rockies starter David Hale went 2 2/3 innings. He allowed five hits, three runs - one earned - walked one and struck out two.
''I thought he threw the ball well,'' Colorado manager Walt Weiss said. ''He had one of the better changeups I've seen from him. It could be a good weapon for him.''
Ross had three doubles and four RBIs to power an offense that had 17 hits, with at least one hit by every Cubs starter except center fielder Matt Szczur, who reached base twice.
Rockies first baseman Mark Reynolds had two of Colorado's five hits.
Cubs: Lester will take the 10:1 strikeout ratio, but he was happier that he was throwing pitches where he wanted.
''We got to the point where we could execute the pitch we were trying to, to get the guy out,'' Lester said. ''With that being said, I like first or second pitch outs. There weren't a lot of deep counts. I don't read into the strikeouts, but the execution of the pitch.''
Rockies: Hale, who was optioned to Triple-A on March 25, had his spring delayed early on by a hamstring.
''We are trying to build him up right now,'' Weiss said.
Cubs: Dexter Fowler (tightness in left side) missed his third straight game, but is expected to be OK for the regular season.
Rockies: Late-inning reliever Jason Motte (sore shoulder) has been shut down since March 24 and could start the year on the disabled list. He was battling Jake McGee for the closer's job.
''I don't see it being a long time,'' Weiss said, ''but he's down now for the time being.''
Cubs utility player Javier Baez will start the year on the disabled list. He bruised his thumb sliding into first base while trying to avoid a tag and hasn't played since March 20.
He needs to see some live pitching before joining the Cubs in time for the home opener on April 11.
''I'm not mad about it,'' Baez said. ''I'm mad I'm losing my first opening day (in the majors). But I feel good. I hit two days in a row. When they come back, I'll be ready to play.''
Cubs: Chicago heads to Las Vegas for a two-game series beginning Thursday against the Mets, with prospect Ryan Williams taking the mound against Paul Sewald.
Rockies: Colorado has a home game Thursday against the Diamondbacks at Salt River Fields with Kyle Freeland starting for the Rockies.