Rockies lefty Franklin Morales, competing with righty Jordan Lyles for the final rotation spot, struck out four in four innings but gave up two big hits. Stefen Romero homered in the first inning. Brad Miller tripled to open the third and scored on Abraham Almonte's sacrifice fly. Morales said both big hits were on split-finger pitches.
Still, Morales, who has been a reliever much of his career with the Red Sox and the Rockies but relishes the chance to start, was happy with his plan. Morales has a 3.97 ERA in 11 1/3 innings this spring. Lyles has a 1.13 ERA in eight spring innings.
"I feel very good," Morales said. "Only thing I tried to do was attack the hitter. It doesn't matter what happens in the game. When you put your pitch in your spot, it's going to be fine."
It was a big swing for Romero, who played at Triple-A Tacoma last year and is trying to land a spot as a backup outfielder. Romero opened the spring 0-for-8, but since then is 9-for-19 with two home runs, two doubles and two triples.
Mariners ace Felix Hernandez -- preparing for his club-record seventh Opening Day start on March 31 against the Angels -- held the Rockies to one unearned run and two hits in his four innings. Michael Cuddyer, who went 2-for-3 with a double, scored the only run off Hernandez on a wild throw when second baseman Jack Reinheimer was trying to complete a double play.
But Reinheimer and shortstop Miller completed a dazzling double play on a Cuddyer grounder in the fourth.
Hernandez felt better after rebounding from his last outing, when he gave up four runs in 2 1/3 innings to the Rangers.
"My last time out was too many runs," he said. "I wanted to get my work in and I was happy with the results. Today was good."
Rockies closer LaTroy Hawkins worked out of a bases-loaded, no-out situation in the fifth.
Mariners righty Erasmo Ramirez, competing for a rotation spot, wiggled in and out of trouble. He gave up leadoff doubles in the sixth and seventh but escaped unscathed. However, the Rockies' Cristhian Adames walked, moved to third on DJ LeMahieu's hit-and-run single, and scored on Charlie Blackmon's sacrifice fly to tie the score at 2. Ramirez gave up one run on four hits and struck out three in four innings.
Mariners first baseman Corey Hart, a free-agent signing this winter, went 0-for-3 in his return from being out for five games with a stiff lower back.
Up next: James Paxton gets his fourth start of the spring Saturday as the Mariners host the Giants in a 1:05 p.m. PT game at Peoria Stadium. The 25-year-old lefty is in excellent shape to solidify a spot in Seattle's rotation, as he has allowed just one run on seven hits with no walks and four strikeouts over nine innings in Cactus League play. The game will be televised live on ROOT Sports TV and MLB.TV.