Berrios (7-4) allowed three hits in 7 2/3 innings and struck out five while walking one as he continued his dominance of Baltimore.
He is 10-0 with a 2.66 ERA and one shutout in 13 career starts against the Orioles. Berrios is 4-0 in his past five starts overall and has allowed two earned runs or fewer in seven of his past eight starts
Kyle Bradish (2-3) nearly matched Berrios, allowing one run on four hits over seven innings for Baltimore, which had won five straight.
Baltimore challenged in the eighth. Adam Frazier blooped a one-out single to center with one out, and a single by Ramon Urias put runners on first and second with two outs. Manager John Schneider lifted Berrios for Tim Mayza, who retired Gunnar Henderson on a groundout.
Jordan Romano allowed singles by Ryan O'Hearn, Austin Hays and Aaron Hicks with two outs in the ninth to make it 3-1, then struck out Frazier to complete his 19th save.
Berrios needed just 33 pitches to get through the first four innings. The Orioles got their first baserunner when Hays walked with one out in the fifth, but he was thrown out attempting to steal second
Bradish didn't allow a hit until Bo Bichette singled leading off the fourth, and Springer put the Blue Jays up 1-0 with a homer to center with one out in the sixth
Adley Rutschman broke up Berrios' no-hit bid with a line-drive single to center leading off the seventh. With one out, O'Hearn hit into a fielder's choice and reached second after Bichette's wild throw to first, but Berrios retired Hays.
Toronto added two runs in the eighth. Kevin Kiermaier reached on an infield single, stole second, advanced to third on a balk and scored on a ground-rule double by Whit Merrifield. Springer reached on a fielder's choice and came all the way around on Bichette's double to the wall in left center.
--Field Level Media