SEATTLE (AP) — Wade LeBlanc is a journeyman. His 10-year career has featured stops with seven different organizations and even one in Japan, where he thought he was finished.

In the left-hander's second stint with Seattle, it appears he's finally found a home.

LeBlanc (4-0) allowed one run over seven innings after inking a contract extension with the Mariners earlier in the day, and Seattle beat the Los Angeles Angels 4-1 on Tuesday night for its eighth straight victory.

The Angels' Shohei Ohtani was activated from the 10-day disabled list and went 0 for 4 with two strikeouts in his return. He had been sidelined since June 8 with a Grade 2 ulnar collateral ligament sprain.

"I think it was huge that I got all those at-bats in the simulated games," Ohtani said through an interpreter. "It's a different game up here in the big leagues. Maybe still not quite there yet, but just keep on working hard, come back tomorrow."

The Mariners announced they signed LeBlanc (4-0) to the extension before his start and the soft-tossing left-hander showed them they made a good decision. LeBlanc allowed three hits, struck out four and retired his final 11 batters.

"It's huge," LeBlanc said. "It's life-changing money, obviously, but for me, I've never been the kind of guy to know where my family and I are going to be the next year this early."

LeBlanc's contract reportedly extends him through the 2019 season, with a base salary of $2.75 million and incentives that could raise that to $4.75 next season, and contains club options valued at $5 million with a $450,000 buyout the three following seasons.

It rewards LeBlanc after he's provided an unexpected source of stability to the Mariners' rotation. Seattle is 9-3 in games he's started and he boasts a 2.90 ERA since moving to the rotation on May 3.

"It's good to feel wanted," Mariners manager Scott Servais said. "I know Wade's been everywhere in his career, but we're definitely seeing the best of Wade LeBlanc right now. I'm looking forward to having him in the future. He's done an unbelievable job for us.

"The best part about these deals with a guy like that that's bounced around, is that he's earned it. And that's really what makes you feel good and allows you to sleep at night."

LeBlanc was signed by the Mariners in spring training after he requested his release from the Yankees, who signed him to a minor league contract.

Alex Colome picked LeBlanc up by stranding Kole Calhoun after his one-out double in the eighth and Edwin Diaz earned his American League-leading 33rd save with a clean ninth inning.

Kyle Seager was 2 for 4 and drove in a pair of runs with a bases-loaded double in the first. Nelson Cruz provided insurance with a solo homer in the eighth.

Andrew Heaney (4-6) tied a career high with 10 strikeouts, but was tagged with three runs in the first inning to fall behind and was handed the loss.

"Andrew was terrific tonight," Angels manager Mike Scioscia said. "The walks were probably the one negative for him in the first inning.

"He pitched a great game, gave us a chance to win. We just couldn't get any kind of pressure offensively."

Andrelton Simmons' homer in the fourth was all the Angels could muster offensively.

300 CLUB

Mariners second baseman Dee Gordon stole third base in the eighth inning to put him at 300 career stolen bases.

TRAINER'S ROOM

ANGELS: Angels outfielder Chris Young exited in the first inning with a left hamstring strain, the club announced. Young stumbled to the ground while fielding Seager's double to right field and fell to the ground in noticeable pain, staying there until leaving the game with trainers.

MARINERS: Servais said Erasmo Ramirez's bullpen on Sunday went well and the right-hander will move on with his throwing program.

UP NEXT

ANGELS: RHP Garrett Richards (4-4) will be activated from the 10-day disabled list and start against the Mariners on Wednesday. He's been out since June 14 with a left hamstring sprain.

MARINERS: RHP Mike Leake (8-4) will make his 18th start of the season and third against the Angels on Wednesday. The 30-year-old has lasted seven-plus innings seven times this season and boasted a 2.57 ERA in June.