The club made the announcement Wednesday.
Morales, 29, has spent his entire career with the Angels, hitting .281 with 79 home runs and 265 RBIs in six seasons.
Vargas, 29, was a solid starter during his four seasons with the Mariners, going 36-42 with a 4.09 ERA in 110 starts. He led the Mariners in wins last season with 14.
"We have been focused on adding offense this off-season, and feel that Kendrys will be a middle-of-the-order bat for us. He's a switch-hitter with power who has played, and hit, in the AL West," general manager Zduriencik said in a press release.
"He's familiar with the teams and parks and is a proven run-producer. We hate to part with Jason, and really appreciate everything he's done for us, but we are in a situation where we had to give up talent to acquire talent."
Morales hit a career-high 34 home runs in 2009, finishing fifth in American League MVP voting that season. The following season, he infamously broke his leg while celebrating a walkoff grand slam against the Mariners, forcing him to miss the rest of that season and all of 2011.
Morales hit .273 with 22 home runs and 73 RBIs in 134 games last season.
"Kendrys gives us a veteran presence and a proven, middle-of-the-order bat, with power from both sides of the plate," manager Eric Wedge said in the press release. "Adding him to our line-up immediately makes us a better offensive club."