In line to start opening day, Cashner hasn't allowed a run or walk in nine innings this spring training. The right-hander finished the 2013 regular season with a 16-inning shutout streak.
''Today I thought was the best my command has been,'' said Cashner, who threw 34 of 50 pitches for strikes.
Cashner gave up five hits and at least one in every inning, but used his effective sinker against the heart of Colorado's order to get out of a jam in the third.
After allowing consecutive singles to Jordan Pacheco and Charlie Blackmon, he struck out Carlos Gonzalez looking between groundouts by Michael Cuddyer and Troy Tulowitzki.
''I threw CarGo a comeback sinker there,'' Cashner said of the strikeout pitch. ''It was probably the best one I've ever thrown.''
Manager Bud Black, who likes to have fun with reporters, was coy when asked to confirm that Cashner would throw the March 30 opener.
''That's a good question,'' Black said, smirking. ''I think he is going to throw - whether it's playing catch, a side piece, long toss or a game against the Dodgers.''
Ryan Jackson, seeking to make the Padres' roster as a reserve infielder, hit a two-run homer off Franklin Morales in the second.
Gonzalez had two of Colorado's nine hits.
Padres: Cashner also singled off Morales, but that shouldn't come as a surprise. He hit .245 last season with a home run. Cashner also won a bunting competition among Padres pitchers earlier in camp.
''I love to hit,'' Cashner said.
Rockies: Morales, contending for the fifth spot in the rotation, retired the first five batters before running into trouble.
Morales allowed three runs on five hits, the last run scoring on his wild pitch, while getting seven outs.
''I think he got the ball up,'' manager Walt Weiss said. ''He got to two strikes on a lot of hitters, but just had trouble finishing.''
Padres: Closer Huston Street, who hasn't pitched in a game because of a minor groin injury, threw a bullpen session Monday. Black said he'll throw batting practice, possibly on Wednesday, before getting into a game.
Black said third baseman Chase Headley is ''where he's supposed to be'' in his recovery from a strained right calf. He's hitting, jogging and taking grounders, but hasn't done any sprinting.
Rockies: Justin Morneau started at first base and went 0 for 2 in his first game since Feb. 28 because of a stiff neck.
''He looked good,'' Weiss said. ''Good to see him out there.''
Padres catcher Yasmani Grandal singled in his first at-bat and later threw out a runner at second in his first game following ACL knee surgery in July.
''I've been waiting for this moment for a long time,'' Grandal said.
Grandal, who played the final three innings, said his right knee isn't strong enough to catch all nine innings yet. Black said it's ''too early to tell'' if Grandal will start the season on the disabled list.
Morneau made a diving stop of a grounder behind the bag and completed the flip to pitcher Tommy Kahnle for the out in the fourth.
Second baseman D.J. LeMahieu made a diving stop and hit Morales in stride for the first out of the game.
''To hit the pitcher on the run after sliding around out there, that's very impressive,'' Weiss said.
With Tulowitzki, a two-time Gold Glove winner, healthy and showing good range at short and Nolan Arenado winning a Gold Glove at third last season, Weiss thinks the infield has a chance to be the best in franchise history.
''Absolutely,'' he said.