"We wanted to win this series bad," Morse said. "We've been fighting and it was a tough game, a pitcher's game. We're going to have a lot of these one-run games, and to come out on top like that means a lot for the character of this team."
Morse now has seven homers on the year, one back of the American League lead, but this was his first since April 9, after he went into the deep freeze upon taking a pitch off his hand against the Rangers.
"Early I was thinking about it and it was affecting my play, but now I'm trying not to think about it," said Morse, who capped a 2-for-4 day with his game-winner. "There's guys in this clubhouse going through a lot more aches and pains every day than me with a little pinkie. I'll just keep pushing. It's baseball."
The win lifted the Mariners to a 3-1 series victory, their first four-game series victory over the Halos since 2003, and edged them past the Angels into third place in the American League West at 11-16. Anaheim is 9-15.
Reliever Carter Capps picked up the win with two scoreless innings in the seventh and eighth and Tom Wilhelmsen notched his eighth save with a perfect ninth after Mariners right-hander Hisashi Iwakuma set the table with six strong innings.
Iwakuma lowered his ERA to 1.67 as he allowed just three hits and an unearned run in the sixth when shortstop Robert Andino let a Mike Trout grounder go under his glove and Andrew Romine scored from second.
The former Japanese standout engaged in a spirited duel with Jason Vargas, who was facing the Mariners for the first time since being traded to the Angels for Kendrys Morales over the offseason.
Vargas has yet to win a game for his new squad as he fell to 0-3. But back in the friendly and familiar confines of Safeco Field, the veteran lefty pitched his best game of the year against his former mates, allowing just two runs in eight innings, both coming on long balls to Jason Bay and Morse.
Bay tied the game at 1-1 with his second homer of the year, a line drive over the left-field fence on the first pitch of the seventh.
"His changeup was really good today, so I was trying to get to a situation where I didn't have to see it," Bay said, after striking out his first two at-bats against Vargas. "If I could get a fastball early, I was going to attack it, which is the plan a lot of times, but right there I got one I could handle and didn't miss it."
The Mariners were happy to get Iwakuma off the hook after his well-pitched outing was marred only by the unearned run. He's now 4-0 with a 1.03 ERA in six games against the Angels, including one relief appearance last season before moving into the rotation.
"He doesn't throw anything straight and you can't really sit on anything," said Trout, who went 0-for-4 to drop his career tally against Iwakuma to 2-for-16. "He had a good plan today, kept us off balance. Every time we face him, he's a tough one to beat. He pitched well today."
Since last year's All-Star break, Iwakuma has the lowest ERA among all American League starters at 2.27. Unfortunately for the 32-year-old, none of that was enough to get him in the win column on a day Seattle's bats stayed silent against Vargas until after Iwakuma's departure.
But Iwakuma was encouraged that a season-long blister issue on his middle finger didn't cause as much of a problem, as he went six innings on 92 pitches.
"It's a lot better than the last start," Iwakuma said through translator Antony Suzuki. "So hopefully we're making progress from here on."
Manager Eric Wedge said Iwakuma would have his next start pushed back to give him extra rest, since Seattle finally has a few off days coming up. He's tentatively scheduled to pitch next Sunday in Toronto, which would give him an extra two days between starts.
"Definitely, more time off will help the finger heal and the skin will get much harder, so I do think it'll be better down the road," Iwakuma said.
Dustin Ackley continued his recent surge as he extended his hitting streak to nine games with a 1-for-3 day. He's hit .406 (13-for-32) during that stretch to raise his average from .145 to .241.
Kyle Seager saw his 16-game hitting streak end with an 0-for-4 outing.