BALTIMORE -- As they charge toward their first AL East title in 22 years, the Toronto Blue Jays are finding new and interesting ways to win.

A team that has hit 223 home runs used a 60-foot dribbler to beat the Baltimore Orioles 4-3 Monday night.

Toronto's fifth straight victory, coupled with the Yankees' loss to Boston, reduced the Blue Jays' magic number for securing the division crown to two.

After scoring twice in the eighth to pull even, the Blue Jays got the decisive run against Brad Brach (5-3) in the ninth. Dioner Navarro led off with a single and was replaced by pinch-runner Dalton Pompey, who advanced on a single. After a sacrifice moved the runners up, Pompey scored when Justin Smoak hit a slow roller to first and Chris Davis threw wildly to the plate.

"I hit it off my thumbs," Smoak said. "Looking for a changeup, got a heater. That can happen."

The Blue Jays did get a home run -- from Edwin Encarnacion -- but that wasn't much of a factor in the Blue Jays' 35th comeback victory of the year.

"We can win any way possible," Smoak said. "This team is unbelievable. Guys fight to the end."

Brett Cecil (5-5) pitched one inning and Roberto Osuna got two outs for this 20th save.

Ryan Flaherty hit a three-run homer for the Orioles, who have lost four straight. Toronto starter Marco Estrada, Cecil and Osuna retired the last 17 Baltimore batters in order.

"Part of that is you have to credit the other guy who is on the mound," Baltimore's Matt Wieters said. "We've had some tough pitchers. Estrada was really pounding the zone. Anytime he wanted to throw a strike, he threw a strike."

Estrada gave up three runs and four hits in 7 1-3 innings. After allowing Flaherty's home run in the second, Estrada retired 18 of the next 19 batters. The only Baltimore baserunner during that span was Wieters, who singled with one out in the fourth.

Down 3-1, the Blue Jays rallied in the eighth against Chris Tillman and All-Star reliever Darren O'Day. Ryan Goins led off with a single and advanced on a groundout before O'Day entered and gave up RBI singles to Ben Revere and Jose Bautista.

The uprising, which didn't feature a hard-hit ball, was an appropriate prelude to the ninth.

"We felt good with Darren going in there," Wieters said. "He had a couple of ground balls that shot through the infield that could have easily have been an inning-ending double play. But they found holes."

The comeback came after Tillman took a four-hitter into the eighth.

"Tip my hat to my guys," Toronto manager John Gibbons said. "They hung around and made a run at it late."

Tillman was 0-4 with a 15.50 ERA in five starts against Toronto this season, and 4-10 with a 6.02 ERA over his career. He was much improved this time around, but not good enough to get the win.

"Would've been better to come out of that with a W, but you know what? They're a good team. And they never stop," he said.

After Encarnacion led off the second inning with his 36th home run, Baltimore answered in the bottom half. Wieters and Jonathan Schoop hit successive one-out singles before Flaherty hit an opposite-field drive that barely cleared the left-field wall.

That ended a run of 29 consecutive scoreless innings by the Orioles, who were blanked in three straight games by Boston over the weekend.

But more zeroes followed, right up through the ninth.

STREAKY

Blue Jays: Navarro has a season-high, eight-game hitting streak. Kevin Pillar has hit in six straight, batting .591 over that span.

Orioles: Brach took his first loss in 39 games since June 6.

TRAINER'S ROOM

Blue Jays: SS Troy Tulowitzki (shoulder, back) took batting practice and could be back in the lineup during this series. He hasn't played since Sept. 12.

Orioles: Adam Jones was held from the starting lineup for the sixth time in seven games because of an ailing back. "We'll back off a day, see what tomorrow brings," manager Buck Showalter said.

ON DECK

Blue Jays: Marcus Stroman (3-0, 1.89 ERA) makes his fourth start of the season Tuesday night. The right-hander came off the DL on Sept. 11 following knee surgery.

Orioles: Miguel Gonzalez (9-11, 4.85 ERA) starts for the first time since Aug. 30 after being sidelined with right shoulder tendinitis.