Morales drove the next pitch to left-center for his 11th home run and the eighth game-ending slam in Angels history.
Brian Fuentes (3-1) pitched a perfect 10th for the victory.
Seattle’s Felix Hernandez took a five-hitter and a 1-0 lead into the eighth before Abreu hit a solo home run.
“It was sinker down and away and he put a good swing on it. It was a good pitch so you have to tip your hat,” Hernandez said. “But everything was working with both sides of the plate with command of my fastball and my breaking ball. I pitched my best game today.”
Hernandez came back for the ninth, but was taken out after giving up a leadoff walk to Hideki Matsui with his 111th pitch.
Weaver held the Mariners to three hits and an unearned run over seven innings and struck out six.
The Mariners took the lead in the fourth with the help of a throwing error by shortstop Erick Aybar.
NOTES: The Mariners are 0-6 in extra innings, the only team in the majors without a victory. Last season they were 9-7. ... Hernandez, who finished second in last year’s AL Cy Young voting behind Kansas City’s Zack Greinke, finished the month of May at 0-3 with a 4.79 ERA in six starts. ... The Angels won for the first time this season when trailing after seven innings (1-23).
Taking a look at some of the greatest catchers off all time.