J.T. Realmuto homered as Philadelphia snapped a five-game losing streak to stay 2 1/2 games ahead of Milwaukee for the final NL wild-card spot.
''It doesn't get much better than that,'' Vierling said. ''Definitely needed it. We grinded all night.''
Vladimir Guerrero Jr. hit a three-run homer for the Blue Jays, who lead the AL wild-card standings.
Bryson Stott led off the 10th with a sacrifice bunt to move pinch-runner Yairo Munoz to third. Adam Cimber (10-6) then hit Jean Segura before walking Dalton Guthrie on four pitches to load the bases.
Vierling hit a 1-1 chopper up the middle past the five Blue Jays on the infield, then raised his right fist high in the air as he ran to first before being mobbed by his teammates between first and second. The celebration got so rowdy that one of his teammates ripped Vierling's shirt off his body.
''It got ripped,'' Vierling said. ''Three buttons fell off. Hopefully, they'll give me another one.''
The Blue Jays loaded the bases with one out in the top of the 10th against Andrew Bellatti (4-3). But Teoscar Hernandez lined out sharply to second baseman Segura, who stepped on second to double off Bradley Zimmer.
A night after combining for 29 runs in a game in which the Blue Jays recorded 21 hits - including 10 for extra bases - in an 18-11 win, this game was scoreless through seven innings. After Whit Merrifield led off the eighth with a single, shortstop Stott committed a pivotal throwing error on George Springer's routine grounder. Guerrero made the Phillies pay by driving Seranthony Dominguez's 1-0, 99-mph sinker into the seats in left for his 30th homer to extend his hitting streak to 14 consecutive games.
Realmuto led off the eighth with a solo shot to left off Yimi Garcia, Philadelphia got within a run on Guthrie's two-out RBI single to right and Kyle Schwarber tied it with a single to right off Jordan Romano.
Blue Jays starter Kevin Gausman gave up five hits while striking out eight and walking two in six innings.
''It's unfortunate the way we lost, but we'll just continue to play good baseball,'' Gausman said. ''It's gonna happen. That's baseball. Thai time of year, you don't want to dwell on anything. On to the next game.''
Phillies starter Zack Wheeler was lifted after four innings in his first outing since Aug. 20 due to right forearm tendinitis. The 2021 NL Cy Young runner-up looked like his old self, giving up two hits, striking out three and walking none while throwing 58 pitches.
''I felt good, felt strong, felt healthy,'' Wheeler said.
Noah Syndergaard, acquired by the at the trade deadline, came on for Wheeler and gave up three hits in two innings in his second relief appearance in his 145th career game.
Guerrero is batting .306 with three homers and seven RBIs during his hitting streak.
Bryce Harper has struggled since returning on Aug. 26 from a two-month absence due to a broken left thumb and is now batting .220 with two homers and 10 RBIs since his comeback after going 0 for 5 with a pair of strikeouts.
Blue Jays: Cavan Biggio replaced 2B Santiago Espinal in the seventh after Espinal experienced left side discomfort.
Phillies: OF Brandon Marsh was not in the lineup a night after suffering a left knee contusion while crashing into the wall in left-center.
Blue Jays: Open four-game set at Tampa Bay on Thursday. RHP Jose Berrios (11-5, 4.99) starts for Toronto. The Rays haven't announced their starter.
Phillies: Begin four-game home series against Atlanta on Thursday, with LHP Ranger Suarez (9-5, 3.53) set to face Braves LHP Max Fried (13-6, 2.52).
More AP MLB: https://apnews.com/hub/mlb and https://twitter.com/AP-Sports
Copyright 2022 STATS LLC and Associated Press. Any commercial use or distribution without the express written consent of STATS LLC and Associated Press is strictly prohibited.