"It's been four days of pain," Colon said through a translator. "I knew I could pitch and get the team through five innings. I feel like I had good stuff. I was staying on top of the pitches because I couldn't bend over."
Casey Kotchman hit a three-run homer, a double and a single for the Angels, who began the day tied with Oakland atop the AL West.
"Casey gave us a big lift," manager Mike Scioscia said.
Colon (18-6) allowed two runs and five hits in five-plus innings, struck out five and walked none. He came out because of tightness in his lower back, but the right-hander still won his career-best seventh consecutive decision.
"It feels very tight," said Colon, who received electrical stimulation before the game. "The last four days it's been getting real tight on me. Massage should take care of it."
Los Angeles staked Colon to a 5-0 lead, and he responded by retiring 12 of his first 13 batters to help the Angels take two of three in the series.
"They got me five runs and that was enough," Colon said.
He gave up three consecutive singles to open the fifth before retiring the next three batters. The Mariners scored once in the inning on an RBI single by Jose Lopez to cut it to 5-1.
Scioscia wanted Colon to quit after the fifth, but the pitcher declined. He gave up a triple to Jeremy Reed to start the sixth before bowing out. Reed scored on a groundout by Richie Sexson to make it 5-2.
"It didn't look like he was able to get after it the way he needs to," Scioscia said. "We won't know for a couple days if it will impact his next start."
Colon was replaced by Yan, who allowed an RBI single to Greg Dobbs.
The Angels found their offense after being held to three runs or fewer in eight of their previous 10 games.
"I just couldn't find it," Harris said. "It was just one of those days where things didn't go my way."
Guerrero hit his 28th homer into the left-field seats in the third for a 5-0 cushion.
"Obviously, we didn't hit our spots," Mariners manager Mike Hargrove said. "There were more than a few at-bats this series where we pitched him where we wanted to and we got him out."
Harris gave up five runs and six hits in three innings. He walked one and didn't record a strikeout in his fourth major-league start. The right-hander had a two-game winning streak snapped.
- Guerrero's last five homers have come against the Mariners, and nine of his 20 hits against them this season are homers.
- Colon is 10-1 after an Angels loss. They were beaten 6-3 Saturday night.
- The Angels lead the season series 9-6, with a 3-6 mark at home.
- Los Angeles has 12 homers in its last 19 games.