Baltimore right-hander Alex Cobb picked up his major league-worst 13th loss as the Orioles dropped to 1-8 against Toronto this season.
Stroman (3-7) allowed one run and five hits. He threw a season-high 107 pitches, the first time this season he has topped 100.
Stroman is 3-2 with a 3.03 ERA in five starts since returning from a shoulder injury that caused him to miss more than a month.
The first three Orioles batters of the game singled off Stroman, although Jonathan Schoop was thrown out trying to stretch his hit into a double. After Adam Jones gave Baltimore a 1-0 lead with an RBI hit to right, Mark Trumbo grounded into a inning-ending double play.
The Blue Jays answered with a three-run fourth against Cobb, taking advantage of a key Orioles error.
Justin Smoak opened the inning with a walk and, following a video review, was ruled safe at second after Cobbs high throw pulled shortstop Tim Beckham off the base on at attempted force play. Randal Grichuk followed with an RBI double, a second run scored on Diazs double play grounder, and Luke Maile capped the rally with an RBI single.
Diaz had four hits Friday, including the game-winning single in the 10th. He went 2 for 3 Saturday with a pair of singles.
The Blue Jays made it 4-1 in the fifth when Teoscar Hernandez doubled, advanced on a fly ball and scored on Cobbs balk.
Cobb (2-13) lost his sixth straight decision, allowing four runs, one earned, and four hits in five innings.
Grichuk made the defensive play of the game, a running catch on the warning track in left center to retire Trumbo for the first out of the ninth.
Orioles: Baltimore is expected to demote a reliever when RHP Andrew Cashner (neck) is activated off the 10-day disabled list Sunday.
Cashner (2-9, 4.56) last pitched July 10, when he allowed five runs and five hits in 6 1-3 innings against the Yankees. Blue Jays LHP J.A. Happ (10-6, 4.29) is 0-3 with a 9.75 ERA in three July starts.
More AP baseball: https://apnews.com/tag/MLBbaseball