Upton, 30, is hitting .279 with 28 homers and 94 RBIs this season. He’s a four-time All-Star in 11 seasons with Arizona, San Diego and Detroit.
Upton will give the Angels, who are in the chase for a wild-card spot, a big bat alongside Mike Trout..
The Angels sent minor league pitcher Grayson Long and a player to be named later or cash considerations to Detroit in the trade.
The right-handed Long, a former third-round pick, went 8-6 with a 2.52 ERA in 23 starts with the Angels’ Double-A Mobile farm club this season.
Thursday is the final day that MLB teams can complete waiver trades and have the players available to play in the postseason.
Upton signed a six-year, $132 million contract with Detroit in January 2016. He’s owed $88 million over the next four seasons but has the option to opt out of the deal in November.
The Angels have weathered a slew of injuries to their pitching staff and began Thursday at 69-65, one game behind Minnesota in the race for the American League’s second wild-card spot. Upton adds a veteran power bat to an offense that ranks 12th in the league in runs (584) and 15th in OPS (.713).
Upton has started 124 games in left field for Detroit this season and upgrades a position of need in Anaheim. Angels manager Mike Scioscia has used Cameron Maybin, Ben Revere and five other players in left this season. They’ve combined for a .244/.315/.341 slash line and hit seven home runs in 492 at-bats.
The Angels got rid of the logjam Thursday, with Maybin going to the Houston Astros, sources tell ESPN’s Buster Olney. It was a waiver claim, so the Angels will receive nothing in return. They will save $1.5 million.