TORONTO (AP) Based on their scouting report, Tampa Bay's hitters had a good idea how Toronto left-hander J.A. Happ was going to try and beat them.
He went out and beat the Rays anyway.
Happ and three relievers combined on a four-hitter as Happ became the first 16-game winner in the majors, and the Blue Jays blanked Tampa Bay 7-0 on Wednesday night.
More from FoxSports
Toronto took over first place in the AL East when the Orioles lost 1-0 to Oakland later Wednesday.
Troy Tulowitzki homered and had a season-high five RBIs and Justin Smoak also connected for the Blue Jays, whose 162 homers this season are second only to Baltimore. The Orioles entered play Wednesday with 170.
Rays manager Kevin Cash said Happ lived up to a scouting report that suggested they would see plenty of fastballs, especially four-seamers.
''We knew we were going to get it, we just weren't able to handle it,'' Cash said.
Happ (16-3) allowed four hits, all singles, to win his 10th consecutive decision.
''That's a team number right there, those wins,'' Happ said after passing Boston's Rick Porcello and Washington's Stephen Strasburg for most in the majors. ''But it feels good to go out there and give us a chance to win consistently. That's always been my goal.''
Toronto has won Happ's past 11 outings and is 18-5 when he starts.
''We knew he was a good pitcher and we're glad to have him back,'' manager John Gibbons said.
Rays infielder Brad Miller played behind Happ when both were with Seattle last season. Miller struck out twice in three at-bats Wednesday.
''Obviously today it was tough battling in there against him,'' Miller said. ''That's what I liked when I was on his team was his competitive fire and his conviction.''
Joe Biagini, Jason Grilli and Ryan Tepera worked one inning each to complete Toronto's seventh shutout.
Tulowitzki hit a two-out, three-run homer off Rays rookie Blake Snell in the first inning, his 19th. The drive snapped a streak of 17 straight solo home runs by Toronto, which hadn't gone deep with a man on base since Josh Donaldson's two-run homer in the first inning of a July 20 win at Arizona.
All three runs were unearned after Rays right fielder Steven Souza Jr. was charged with an error when he dropped Donaldson's foul fly ball.
''I had to run a long way but that ball has got to be caught,'' Souza said.
Snell ran into trouble again in the second and could not finish the inning. After Devon Travis hit an RBI single, Donaldson reached on a fielder's choice and went to second on a balk. Snell walked Edwin Encarnacion and Russell Martin to load the bases for Tulowitzki, who walked on a full-count pitch to bring home another run. Dylan Floro came on and retired Melvin Upton Jr. to end the rally.
Snell (3-5) worked a career-low 1 2-3 innings and matched a career-worst by allowing five runs, two earned, and five hits. He threw 68 pitches, 37 strikes.
''That's the first time we've really seen him struggle,'' Cash said. ''It wasn't for lack of stuff, he had the stuff going. It was lack of command and location with his pitches.''
Before the game, the Blue Jays placed slugger Jose Bautista on the 15-day disabled list because of a sprained left knee. Bautista stumbled and fell while making a throw in the third inning Tuesday.
Upton stole three bases, the most by a Blue Jay since Jose Reyes stole three against Kansas City on July 11, 2015.
Rays: SS Matt Duffy (left Achilles) went 0 for 4 in a rehab game at Triple-A Durham. Duffy is expected to make his Rays debut Friday. INF Richie Shaffer was optioned to Durham following Wednesday's game to clear a spot for Duffy.
Blue Jays: OF Junior Lake was selected from Triple-A Buffalo to replace Bautista.
Rays: Tampa Bay is off Thursday before opening a three-game series against the Yankees on Friday. RHP Chris Archer (6-15, 4.26) starts against LHP CC Sabathia (6-9, 4.18). Archer is 5-3 with a 2.13 ERA in 11 career starts against New York.
Blue Jays: After a day off Thursday, Toronto begins a three-game series against Houston on Friday. LHP Francisco Liriano (6-11, 5.34) makes his second start for Toronto. He will face RHP Joe Musgrove (0-0, 0.79).