ANAHEIM, Calif. (AP) — Nelson Cruz has enjoyed plenty of success over the years against the Los Angeles Angels.

This season has been the best yet.

The veteran slugger hit a three-run homer, Mike Leake pitched seven strong innings and the Seattle Mariners started a 10-game road trip with an 8-2 victory over the Angels on Thursday night.

Cruz's shot to center field off Neal Ramirez in the fourth was his eighth homer this season versus the Angels, the most by one player in a single year against the franchise, according to Baseball-Reference.

"That ball was in the air forever," Seattle manager Scott Servais said. "Nelson has always swung the bat good against them, for whatever reason. He sees the ball good in this ballpark. There's really no ballpark that can hold him, but he sees real good pitches here."

The home run was also Cruz's 50th against the Angels, which gave him the second-most for any player against the team. Alex Rodriguez hit 70.

"I play a lot against them," Cruz said. "So maybe that's why."

Cruz, Mitch Haniger, Robinson Cano and Kyle Seager each had two of Seattle's 12 hits.

Los Angeles was eliminated from playoff contention.

Leake (10-9) threw a season-high 114 pitches (80 strikes), allowing one run and four hits with a walk and five strikeouts. His only costly mistake came in the seventh when Justin Upton homered to left.

After going 0-5 in July and August, Leake has won two straight starts for the first time since June 12. It was also the ninth time in 29 starts this season that the right-hander has gone seven innings or more.

"It's kind of nice to see. I had to work to get down in the zone a little bit more," Leake said.

Angels starter Odrisamer Despaigne (0-3) went only one-plus inning, allowing three runs and four hits while facing eight batters. He promptly gave up two runs in the first as the first three batters reached base. Haniger led off the game with a double and was driven in two batters later when Cano singled. A sacrifice fly by Ryon Healy scored Denard Span.

"When you have a negative ball-strike ratio, you know things aren't going your way," Angels manager Mike Scioscia said.

Haniger's sacrifice fly with the bases loaded in the second scored Ben Gamel and extended the lead to 3-0.

The Mariners added two runs in the ninth. Seager's single scored Cano, and Cruz came home on a bases-loaded walk.

Upton had two hits and Mike Trout added a pair of doubles for the Angels.

Los Angeles got a run in the ninth when Trout scored on Jose Fernandez's fielder's choice with the bases loaded.

ANOTHER MILESTONE

Trout became the fifth player in major league history and the second in the American League with seven seasons of 60 extra-base hits or more by his age 26 season. He joined Rodriguez, Orlando Cepeda, Frank Robinson and Mel Ott. Trout is batting .375 (18 for 48) over his last 15 games with three home runs and eight RBIs.

BULLPEN GAMES

It was the second time in three games that the Angels essentially resorted to a bullpen game. Tuesday's was planned as eight pitchers combined on a two-hitter to beat Texas 1-0. Scioscia said Thursday that it's likely he will have to go with another bullpen game next week.

TRAINER'S ROOM

Mariners: SS Jean Segura missed his third straight game with a flu-like illness, according to Servais. Segura did take part in batting practice and could return to the lineup sometime this weekend. Left fielder Cameron Maybin was also out of the lineup for the second straight day due to illness.

Angels: Tyler Skaggs threw a 48-pitch simulated game in Arizona. The left-hander has been on the disabled list since Aug. 12 due to a groin strain. Scioscia said Skaggs will return to Anaheim to determine his next step.

UP NEXT

Mariners: With lefty James Paxton scratched due to pneumonia, Seattle had not announced a starter for Friday. Servais said it will be a bullpen game.

Angels: Matt Shoemaker (2-0, 3.45 ERA) will make his first start at home since June 14, 2017. The right-hander has missed most of the season after injuring his right forearm on March 31 against Oakland.