Perez (3-2), a rookie who had made 29 relief appearances for the Blue Jays this season, was handed the first start of his career and responded by carrying a perfect game into the sixth inning.
The left-hander ended up allowing just one hit -- a sixth-inning single to Jemile Weeks -- and two walks over six frames.
Janssen tossed three hitless innings to complete the shutout and rack up his second save.
Bautista smacked his 36th homer of the season to lead off the seventh inning and Toronto avoided their first three-game losing streak since early July.
Guillermo Moscoso (5-7) took the hard-luck loss for the A's, surrendering only the one run on three hits over eight innings. He walked one and struck out seven.