Humberto Quintero had three RBI, including a go-ahead two-run homer that capped a six-run fifth inning, as the Seattle Mariners avoided a three-game sweep against the Toronto Blue Jays with a 9-7 win.
Justin Smoak drove in two runs and Nick Franklin had an RBI triple for the Mariners.
Brandon Maurer (3-7) pitched 3 1/3 innings of relief, allowing three hits and five walks, to pick up the win. Starter Aaron Harang lasted just two-plus innings, surrendering all seven runs.
Josh Thole had two RBI while Edwin Encarnacion and Adam Lind each hit a home run for the Blue Jays, who were looking for their first three-game sweep at Seattle since July 5-7, 1991.
J.A. Happ returned to the mound for the first time in three months. He had not pitched since May 7 against the Rays, when Desmond Jennings hit a line drive that struck the left-hander in the head, leaving him with a skull fracture. He also missed time due to a sprained right knee.
The 30-year-old southpaw gave up seven runs -- six earned -- over four-plus frames. Aaron Loup (4-4) gave up Quintero's blast in the fifth to take the loss.
"It's obviously not how I wanted it to go," Happ said. "We should have won that game. We scored seven runs early. I wasn't able to keep us holding onto that."
Toronto had a 7-2 advantage after three innings, but Seattle's offense went on a tear over the next two frames. With one out in the fourth and runners at the corners, Quintero grounded into a fielder's choice, but scored Michael Saunders.
In the fifth, Franklin reached second on a fielding error by Brett Lawrie and Kyle Seager singled to left. Kendrys Morales then scored Franklin with a ground-rule double to left-center.
After Michael Morse was walked, Loup replaced Happ. Saunders grounded into a fielder's choice, but scored Seager. Justin Smoak then ripped a double to left-center, scoring Morales and Saunders.
Smoak advanced to third on a wild pitch, only to be thrown out at the plate after Dustin Ackley hit a grounder towards shortstop Jose Reyes. Quintero capped the inning with a two-run shot to left to give Seattle the lead, 9-7.
The Blue Jays had an opportunity to retake the lead in the sixth after loading the bases with one out. However, Charlie Furbush, who entered in relief, struck out Lind and retired Colby Rasmus on a grounder to Reyes.
After the Mariners stranded the bases loaded in the seventh, Toronto had another chance to do some damage in the eighth. With two outs, Encarnacion singled to left and Lind drew a walk. Pinch-runner Rajai Davis came in for Lind, and both he and Encarnacion advanced on a passed ball as Quintero couldn't handle the pitch from Oliver Perez. Rasmus grounded out to end the frame.
Danny Farquhar gave up a two-out single to Thole in the ninth, but struck out Reyes to pick up his third save.
Seattle scored twice in the opening inning. Brad Miller hit an infield single to start the frame and scored on Franklin's triple to right-center. That snapped an 0-for-27 slump for Franklin, who had been hitless in his previous 30 plate appearances. Franklin then came home on Seager's groundout.
The Blue Jays responded with a five-run second inning. Encarnacion and Lind walked to begin the frame. Following a fly out by Rasmus, Lawrie delivered an RBI single to right. Mark DeRosa was walked, loading the bases.
Thole snapped an 0-for-21 slump when he hit a ground-rule double, driving in two runs. Reyes grounded out, but plated DeRosa. Emilio Bonifacio scored Thole with a bunt single.
An inning later, Encarnacion and Lind connected on back-to-back homers. Encarnacion's homer was his 30th of the season.
Blue Jays catcher J.P. Arencibia was scratched from the starting lineup due to soreness in his right knee ... Lawrie is on a career-high 10-game hitting streak ... Smoak is on an eight-game hit streak. He is also batting .314 with 15 RBI since July 1 ... Harang has not had a start last two innings or less since Oct. 3, 2010, when he was a member of the Reds. He is 4-6 with a 6.44 ERA in 12 career starts against the AL East, including 1-3 with a 12.84 ERA in five starts this season ... Both teams have an off day Thursday.