Russell Martin followed with his seventh home run of the season, a drive to center that hit off the top of the wall, to tie the score.
The inning continued when Anthony Swarzak (3-2) replaced Shields and allowed a single to Steve Pearce and a triple to Ryan Goins that put the Blue Jays in the lead to stay.
Kendrys Morales added a two-run homer and Pearce hit an RBI double, both in the seventh inning, to complete the scoring.
"I knew he put a good swing on it," Shields said of Martin's homer. "(Josh) Donaldson hit pretty much a similar ball earlier in the game. I left it up a little bit, but it was off the plate a little bit, too, and he put a good swing on it and unfortunately it hit the top the wall.
"If Tulowitzki didn't hit that dribbler down the line, I think we'd have been out of the inning there."
Martin said, "It felt pretty good off the bat. It wasn't a bad pitch. I think it was a cutter-slider. I definitely barreled it, but it wasn't a no-doubter by any means, then I saw on the replay it hit off the top of the wall."
Blue Jays manager John Gibbons said, "Russell probably has as much, or more than anybody, on the team opposite field power. So, when he's driving the ball that way, he gets his share of home runs. I just think he needs some at-bats, he was out those 10 days (with a stiff neck).
"It really takes some at-bats to get going. He's getting on base all the time. He's always been a top defensive catcher. What separated him is ability to hit, which a lot of catchers can't do."
The White Sox (31-37) had won six straight games at the Rogers Centre dating to 2015.
J.A. Happ (2-4) allowed eight hits, no walks and three runs in 6 2/3 innings. The left-hander struck out nine in earning his second straight win. It was Happ's fourth start since coming off the disabled list (elbow inflammation).
"The last two have been a lot better. I feel like I'm throwing in my lanes a little better on each side of the plate," Happ said. "There's a little more life on my fastball as well."
Shields, who was on the disabled list with a strained right lat, made his first start since April 16 and did not factor in the decision. The right-hander allowed seven hits, one walk and three runs while striking out three in 5 2/3 innings.
"We kept trying to grind and Shields was containing them pretty good up to that homer," White Sox manager Rick Renteria said. "Even then I thought at that point we were still kind of battling and Swarzak came in, obviously we didn't get the results we wanted then but again all our guys have been doing a great job for us all season long."
Swarzak allowed three hits and two runs in two-thirds of an inning to take the loss.
The White Sox started the fifth inning with singles by Willy Garcia, Kevan Smith and Yolmer Sanchez to take a 1-0 lead. Melky Cabrera bunted the runners to second and third and Jose Abreu hit a two-run single to increase the lead to 3-0.
The Blue Jays scored once in the bottom of the fifth. Pearce singled, took second on a groundout to third by Goins and scored on a single by Kevin Pillar.
Danny Barnes replaced Happ after Cabrera's two-out double in the seventh and ended the inning on Tim Anderson's flyout to center.
Left-hander Dan Jennings replaced Swarzak with one out in the bottom of the seventh after Jose Bautista ended an 0-for-11 drought with a single.
Morales blasted his 15th homer of the season to left and the Blue Jays led 6-3. Justin Smoak singled and was forced at second by Tulowitzki. Michael Ynoa replaced Jennings and allowed an RBI double to Pearce.
Barnes pitched around a walk in the eighth and Roberto Osuna pitched a perfect ninth.
NOTES: White Sox RHP Miguel Gonzalez (A/C joint inflammation in right shoulder) was put on the 10-day disabled list retroactive to Thursday. RHP James Shields was reinstated from the DL to fill the roster spot. ... White Sox LHP Carlos Rodon (left biceps bursitis) allowed seven hits and three runs in 5 2/3 innings Saturday with Triple-A Charlotte in his third rehabilitation start. He has been on the DL since April 2. ... White Sox CF Leury Garcia (sore left wrist) did not start for the seventh straight game. ... Blue Jays RHP Marco Estrada (4-5, 4.54 ERA) will face Rangers RHP Austin Bibens-Dirkx (2-0, 3.28 ERA) on Monday in the opener of a four-game series at Texas. ... White Sox LHP Derek Holland (5-6, 3.79) will start the opener of a three-game series against the Twins, who had not listed a starter, at Minnesota on Tuesday.