Michael Saunders hit a two-run homer and Raul Ibanez had an RBI double as the Mariners topped Los Angeles for the third straight day.
The Mariners have homered in 22 consecutive games, the longest streak in the majors since Atlanta's 23-game run in 2006. Seattle's string is the best by an AL club since Texas set the big league record with 27 in 2002.
Sluggers Josh Hamilton and Albert Pujols went a combined 1 for 8 as the Angels went into the All-Star break at 44-49.
Iwakuma (8-4) gave up three runs in seven innings for his first win since June 10. He had allowed at least four runs in each of his prior five starts, losing three of them.
Tom Wilhelmsen pitched a perfect ninth inning to pick up his 19th save of the season.
Saunders connected in the second off Joe Blanton (2-12) after Jusitn Smoak singled.
Kyle Seager singled and Smoak walked to lead off the fourth, and a sacrifice fly by Mike Zunino made it 3-0.
Mark Trumbo hit his 21st homer in the Angels fifth. It was the 11th home run off Iwakuma in his last five starts.
The Mariners chased Blanton in the fifth. Brad Miller singled, Nick Franklin walked and Ibanez doubled to end Blanton's shortest outing of the year.
Michael Kohn entered and struck out the side to limit the damage for the Angels.
Los Angeles rallied in the sixth. Alberto Callaspo hit a two-out single with the bases loaded to score Mike Trout and Howie Kendrick as the Angels pulled within a run.
NOTES: Mariners RHP Stephen Pryor will begin a rehab assignment with Single-A Everett either Monday or Tuesday of this week. He has been on the disabled list since April 15 with a torn back muscle. ... Blanton leads the league in losses (12), hits allowed (148) and home runs allowed (23).