Guerrero ended a scoreless tie when he hit a two-out home run in the sixth that helped the Blue Jays take the rubber match of the three-game series
The Blue Jays are 4-2 to open a nine-game homestand
San Francisco's Patrick Bailey singled and doubled to extend his hit streak to 10 games.
Toronto shortstop Bo Bichette was 0-for-4 to end a 13-game hit streak.
Bassitt (8-5) allowed three hits and three walks in six scoreless innings. He also hit a batter.
Giants right-hander Keaton Winn (0-1) made his first major league start and allowed two runs, three hits and two walks in six innings, He also hit two batters
Giants third baseman J.D. Davis and manager Gabe Kapler were ejected after disputing a called third strike that ended the third inning. Casey Schmitt took over at third base
Winn allowed only a single and a hit batter in the first four innings before Daulton Varsho led off the home fifth with a bunt single, Varsho was caught stealing by catcher Blake Sabol. Winn hit another batter with two outs before the inning ended on a spectacular catch in left field by Joc Pederson.
Bassitt struck out the side in the sixth inning.
Former Giant Brandon Belt walked with two out in the bottom of the sixth.Guerrero followed with his 12th homer of the season, a blast to left,
Toronto relievers Erik Swanson and Tim Mayza were perfect in the seventh and eighth, respectively,
Jordan Romano allowed Bailey's leadoff double off the top of the wall in right in the ninth. Bailey scored on Sabol's single. Romano overcame an error that prolonged the inning before earning his 24th save.
Toronto reinstated catcher Alejandro Kirk (left-hand laceration) from the injured list Thursday and optioned Tyler Heineman to Triple-A Buffalo
Toronto center fielder Kevin Kiermaier (back spasms) was not in the starting lineup for the third straight game on Thursday.
Giants right fielder Michael Conforto (hamstring tightness) did not start
--Field Level Media