Guthrie (7-17) allowed all three hits by the Blue Jays and struck out five in seven innings. Relievers Pedro Strop and Jim Johnson worked an inning each and both issued a walk. Johnson picked up his fourth save.
The game was scoreless into the sixth, when Vladimir Guerrero singled in J.J. Hardy from second with an unearned run charged to losing pitcher Brett Cecil (4-9).
Ryan Adams scored the other Baltimore run in the eighth on a fielder's choice grounder off the bat of Nick Markakis.
Toronto had won its previous two games.