TORONTO (AP) In the 99th game of the season, Toronto's J.A. Happ reached a career high in wins.
Happ and three relievers combined on a one-hitter, Edwin Encarnacion hit a solo home run and the Blue Jays beat the Seattle Mariners 2-0 on Sunday, avoiding a three-game sweep.
Happ (13-3) won his seventh straight decision and surpassed the 12 wins he had for Philadelphia in 2009.
''All over baseball there probably hasn't been a more consistent starter,'' Blue Jays manager John Gibbons said. ''He's a better pitcher than he's ever been. He's having a tremendous season.''
Happ allowed Seattle's lone hit, a single by Leonys Martin in the third. The left-hander matched a season-high with four walks and struck out six.
''I wasn't the best with strike one today, but I stayed in there,'' Happ said. ''As the game went on I got a little better getting ahead of guys, definitely.''
Brett Cecil worked the seventh, Jason Grilli pitched the eighth and Roberto Osuna finished for his 20th save.
The shutout was Toronto's sixth. The Blue Jays won for the first time in 24 games this season when scoring two runs or fewer.
''It was a big win, especially after yesterday,'' catcher Josh Thole said. Toronto lost 14-5 to Seattle on Saturday.
The Mariners matched a season-high with 19 hits Saturday. On Sunday, they matched their season low.
Happ walked Chris Iannetta to begin the fourth and then hit Robinson Cano, but he escaped the jam by striking out Nelson Cruz and Dae-Ho Lee, then getting Kyle Seager to foul out.
''That was the inning that really got him right where he needed to be,'' Thole said.
Encarnacion opened the scoring with a two-out drive to center in the fourth, his 27th. It was his 224th home run with the Blue Jays, breaking a tie with Vernon Wells and giving him sole possession of third place on Toronto's all-time list. Carlos Delgado leads with 336 home runs and Jose Bautista is second with 255.
Toronto doubled its lead in the sixth. Thole hit a leadoff double and advanced to third on Darwin Barney's fielder's choice grounder, sliding around Kyle Seager's tag. Seattle asked for a review of umpire Jordan Baker's call but lost the challenge. Thole scored when Josh Donaldson grounded into a double play.
Seattle left-hander Wade Miley (6-8) lost his sixth straight decision, allowing two runs and four hits in six innings.
''Something to build off, keep going in the right direction,'' Miley said. ''I felt like I wasn't quite as sharp as in my last outing but I was able to make some pitches and get out of most of the jams.''
Seattle lost for the first time in seven meetings with AL East opponents. The Mariners are 15-7 against the East.
STOREN SENT PACKING
Before the game, the Blue Jays designated struggling relief pitcher Drew Storen for assignment and recalled right-hander Ryan Tepera from Triple-A Buffalo. Toronto acquired Storen from Washington in January in exchange for outfielder Ben Revere, hoping the former closer would be a valuable option in late-inning situations. Instead, Storen went 1-3 with a 6.21 ERA and three saves in 38 games.
On the day he was honored with a bobblehead doll giveaway, Blue Jays OF Kevin Pillar received his 2015 Defensive Player of the Year award in a pregame ceremony.
Mariners: Franklin Gutierrez (sore neck) was scratched from the DH spot and replaced by Chris Iannetta.
Blue Jays: C Russell Martin (left knee) sat out for the third straight game. Martin has not played since injuring his knee after he passed out in the shower following an extended spell in the sauna last Thursday.
Mariners: Seattle is off Monday before opening a two-game series at Pittsburgh on Tuesday. RHP Felix Hernandez (4-4, 3.23) starts for the Mariners. Hernandez allowed five runs in a July 20 game against the White Sox, his first since missing almost two months with a strained right calf. LHP Francisco Liriano (6-9, 4.96) starts for the Pirates.
Blue Jays: RHP Aaron Sanchez (10-1, 2.87) starts the opener of a three-game series against San Diego on Monday. Sanchez has won nine straight decisions and is unbeaten since April 22 against Oakland. RHP Colin Rea (5-4, 5.01) starts for the Padres, who are making their first visit to Toronto.