Taillon (7-5) allowed six hits, one walk and two runs while striking out seven in six-plus innings for his first win since July 20, a span of three winless outings.
Felipe Rivero pitched around a single in the ninth for his 12th save of the season.
Toronto starter Marcus Stroman (10-6) allowed four hits, one walk and four unearned runs in eight innings. He struck out four in his longest outing since going nine innings in a win over the Los Angeles Angels on April 23.
Jose Bautista homered for the Blue Jays (54-61).
After Taillon set down 12 batters in a row, Ezequiel Carrera led off the bottom of the seventh with a double to left. Ryan Goins singled to center to put runners at the corners.
Taillon was replaced by George Kontos, who retired Kevin Pillar on a pop-out to shortstop, struck out Rob Refsnyder and induced a fielder's choice grounder to shortstop from Bautista.
Juan Nicasio pitched around a single in the eighth for Pittsburgh (58-58).
Toronto's Danny Barnes pitched a perfect ninth with two strikeouts.
The Pirates scored four unearned runs in the third inning as Refsnyder made two errors at second base.
John Jaso was bit by a pitch to start the inning and reached third on Refsnyder's errant throw to second on Francisco Cervelli's fielder's choice grounder. Refsnyder failed to tag the bag at second on Adam Frazier's RBI fielder's choice grounder to third.
Josh Harrison hit an RBI single, Andrew McCutchen had an RBI double and Josh Bell hit a sacrifice fly to give the Pirates a 4-1 lead.
Bautista led off the bottom of the third with his 20th homer of the season and his fourth in the past five games.
NOTES: Toronto C Russell Martin (strained left oblique) left the game after one inning and C Raffy Lopez replaced him. ... Pirates CF Andrew McCutchen (left patella femoral discomfort) left the game an RBI double in the third. OF Starling Marte ran for him and played center field. ... Pirates bench coach Tom Prince is running the team Friday and Saturday with manager Clint Hurdle attending the funeral of Don Baylor. ... Pirates OF Gregory Polanco was the DH. Blue Jays RF Jose Bautista was at DH for the second straight game with DH Kendrys Morales (illness) out. Jays OF Norichika Aoki (illness) also was out. ... Toronto RHP Chris Rowley will make his major-league debut Saturday against Pittsburgh RHP Trevor Williams (5-4, 4.17 ERA).