TORONTO -- Barry Zito didn't expect Edwin Encarnacion to hammer his first-pitch changeup for a home run. Even the Blue Jays third baseman was starting to wonder when he would emerge from his slump.
Encarnacion hit a tiebreaking homer in the eighth inning and drove in three runs as Toronto beat the San Francisco Giants 3-2 Friday night.
Encarnacion homered into the lower deck in left field on Zito's first pitch of the eighth, snapping a 2-all tie.
Zito said Encarnacion connected on a pitch so good, "I'd throw it again."
"It was probably [on the] black but it was [at the] knees, it was down, first pitch, and you're not looking for a guy to do that right there," Zito said.
Encarnacion came in stuck in a 2-for-26 slump and had not homered since June 4.
"I felt great and I said 'About time,"' Encarnacion said after the homer, his ninth. "I've just got to keep going and keep playing hard."
Encarnacion hit a two-run single in the fifth and went 2 for 2 with a walk. Eight of his past 16 hits have been home runs.
"I hope everything is going to come in a bunch now," Encarnacion said. "I need it."
Scott Downs (2-5) worked one inning of relief for the win and Kevin Gregg closed it out in the ninth for his 17th save in 20 chances.
Zito (7-3) allowed three runs and four hits in eight innings for his 11th career complete game and first since May 19, 2009. He walked one and struck out five.
"Z threw great," Giants manager Bruce Bochy said. "That's a tough loss for him because has had good stuff, he gets a complete game, a great effort and we just couldn't get enough runs for him."
Pablo Sandoval drew a bases-loaded walk off Blue Jays right-hander Brandon Morrow to give the Giants a 1-0 lead in the first.
Zito didn't allow a hit through the first four innings, but was tagged for two runs in the fifth. Alex Gonzalez led off with an infield single, Jose Bautista was hit by a pitch and everyone was safe when Sandoval threw late to second on Lyle Overbay's bouncer to third. Encarnacion followed with a two-run single to left.
Sandoval, who was playing on artificial turf for the first time in his career, said he struggled all night with bounces and double clutched Overbay's chopper.
"It was hard," Sandoval said of the adjustment to turf. "The ball bounces crazy."
The Giants promptly tied it in the top of the sixth, but could have had more. Aubrey Huff led off with a drive that ticked off the glove of centerfielder Fred Lewis. Huff paused before breaking out of the box, believing he had homered, but was held to a double.
"Can I get to three there if I didn't hot dog it a little bit?" Huff asked. "I don't know. It would have been bang-bang. That's unacceptable, I've got to bust out of the box there and that slight hesitation might have cost me getting to third."
Juan Uribe was hit by a pitch, but Huff was thrown out at the plate on Pat Burrell's single to right, with both runners advancing on Aaron Hill's relay throw. Sandoval followed with an RBI grounder.
"We shot ourselves in the foot the one inning and we know it," Bochy said.
Morrow allowed two runs and five hits in six innings. He walked three and struck out four.
The Giants are 0-4 at American League ballparks this season. They were swept in a three-game series at Oakland from May 21-23.
Toronto leads the majors with 104 homers. ... The Blue Jays signed free agent INF Nick Green and optioned INF Mike McCoy to Triple-A Las Vegas. ... Toronto RHP Dustin McGowan, who has not pitched since 2008, will visit Dr. James Andrews next week after feeling sharp pains in his shoulder recently, the latest setback in his comeback attempt from labrum surgery. ... Three Buffalo Bills players, Jarius Byrd, Lee Evans and Kyle Williams, took part in batting practice before the game. The Bills will play in Toronto twice this season, a preseason game against Indianapolis on Aug. 19, and a regular season game against Chicago on Nov. 7.