Grant Green's bases-clearing double in the second inning staked the Angels to a 3-0 lead and Cowgill's solo shot in the third made it 5-1 Los Angeles.
The Angels got a decisive sixth run in the seventh when Cowgill tripled with none out and broke for home with Andrew Romine at the plate. Mariners hurler Joe Saunders uncorked a wild pitch on the play, and Cowgill scored without a play.
Jerome Williams (9-10) earned the decision, allowing one run on five hits over 5 2/3 innings as the Angels notched a sixth victory in seven games.
Saunders (11-16) ended up yielding six runs on six hits over seven innings for Seattle.
Raul Ibanez bashed his 300th career homer and 29th of the year for the Mariners.