It took 4½ hours, but Manny Machado delivered his fourth hit of the game to lead off the 13th against Jays left-hander Aaron Loup (2-3). Schoop followed with a line drive into the gap in right-center that brought Machado all the way home from first.
The victory evened the series at a game apiece and allowed the Orioles (69-66) to gain a game in the playoff race, moving within 1½ games of the second wild-card spot.
"That felt really good," Schoop said. "It was a walk-off and it felt really good because we need that win."
Obviously, not a whole lot happened at the plate for most of the evening, but the plot thickened in both halves of the ninth inning. The Blue Jays (62-73) had a golden opportunity to take the lead against Orioles closer Zach Britton after center fielder Kevin Pillar led off the inning with a double for his third hit of the game.
Pillar moved over to third on a groundout by pinch hitter José Bautista. But Britton got Darwin Barney to hit a sharp bouncer to second base and Schoop made a perfect throw to cut down Pillar at the plate. Blue Jays manager John Gibbons asked for a video review, but there was no point because Pillar never touched the plate.
Trey Mancini got things started for the Orioles in the bottom of the ninth with a single through the middle off reliever Tom Koehler and Gibbons brought on left-hander Matt Dermody, who hit Chris Davis with a pitch.
Enter Danny Barnes, the third pitcher of the inning, who got Mark Trumbo to pop out and struck out Seth Smith before right fielder Teoscar Hernández made a desperate running catch on the warning track to rob pinch hitter Welington Castillo of a walk-off RBI.
There were all sorts of plays like that, including a sensational running, leaping catch by Mancini to take a run-scoring extra-base hit away from former Oriole Steve Pearce in the top of the 13th.
And, of course, Machado was all over the place, stealing several hits in on a night when any one of them might have led to a different outcome.
"There were so many plays like that,'' manager Buck Showalter. "It's a good game to win, but you've got to do so many things to make it happen.".
Orioles starter Kevin Gausman turned in another strong performance, pitching six scoreless innings in a tense duel with Blue Jays right-hander Joe Biagini, who pitched even better.
Gausman gave up five hits, struck out eight and walked just one batter, but left a game that was still scoreless after issuing that lone base on balls to Jays shortstop Ryan Goins to start the seventh inning.
It was Gausman's seventh quality start in his past nine appearances, a span during which he has a 2.03 ERA and reduced his overall ERA to 4.79. That might not sound impressive, but it looks pretty good considering he was averaging well over six earned runs per nine innings as recently as mid-July.
"You've just got a sense that whoever scored first was going to win that game,'' Gausman said, "and obviously our bullpen has been great all year and tonight is another example."
Biagini was even more efficient than Gausman. He came in with a 5.40 ERA, but threw seven scoreless innings, also allowing just five hits while striking out 10 and issuing one walk.
"I knew about the third or fourth inning, a lot like Dylan [Bundy], Biagini had four pitches going at any point in the count and it was a challenge,'' Showalter said, "but our bullpen was as good as theirs tonight."
Brad Brach came on to pitch two scoreless innings, preserving a string of 13 2/3 scoreless innings by Gausman, who gave up just four hits over 7 2/3 innings in a terrific performance against the Boston Red Sox at Fenway Park in his previous start.
Britton and Miguel Castro each pitched two scoreless innings before Jimmy Yacabonis (1-0) pitched a scoreless 13th for his first major league win. The Orioles improved to 11-2 in extra-inning games as they won for the eighth time in nine games.
Jones ejected: Adam Jones had a very short night. He struck out with two runners on base in the first inning and then burned the ears of home plate umpire Pat Hoberg from the dugout. Hoberg apparently had a short fuse, too, because he quickly gave Jones the hook. It was Jones' second career ejection, the other coming on May 3 at Fenway Park. He was replaced in center field by reserve outfielder Craig Gentry.
As luck would have it, Jones' spot in the lineup would come up twice with runners in scoring position, and neither Gentry nor Joey Rickard could get a run home.
Gentry exits: Gentry wasn't in the game long either. He struck out in the third inning and then was replaced in center field by Rickard, who just rejoined the club as part of the Orioles' Sept. 1 roster expansion. After the game, Showalter said Gentry left with a fractured finger.