"That was amazing. A.J. [Pierzynski] kind of joked around that we would get them back and shoot, we put a five-spot up and it's exciting," Floyd said.
"We can battle with the best of them. It was nice to get the five runs and get a win today."
With the way Floyd was pitching from the start, it didn't look he was going to need more help than what his offense provided for him early.
Floyd was in total control until running into a bit of trouble in the fifth inning, but escaped it after allowing one unearned run.
His only real blemish came the following inning, when Kelly Johnson took him deep for a three-run homer to tie things up at 4.
But the game didn't stay tied for long.
Blue Jays starter Ricky Romero walked leadoff hitter Alejandro De Aza to start the seventh, then hit Kevin Youkilis to put runners on first and second. Romero was then pulled for reliever Brad Lincoln, who came in to face Dunn.
Dunn deposited a 2-0 fastball into the upper deck in right field for his Major League-leading 34th homer and 399th of his career to put the White Sox up, 7-4.
"When it was 2-0, I was probably pretty sure [about getting a fastball]," said Dunn, who homered for his third time in the series. "I didn't care what the pitch was, I just wanted to make sure it was on the plate. I didn't want to go chasing stuff like I've been doing."
The White Sox weren't done there, as the club tacked on two more when Viciedo clubbed his 18th home run, a shot to right off Lincoln, increasing the lead to 9-4.
"I've done that enough to be able to come into that situation and know what I need to do," Lincoln said. "I just didn't get the job done today, that's on my shoulders. That is my job, to come in and shut that team down whenever they got some momentum going. Didn't do my job today, that's it.
The late outburst secured Floyd his second road win of the season and first career win at Rogers Centre -- he entered the start 0-3 with an 8.25 career ERA in Toronto. The right-hander worked six innings, allowing four runs (three earned) on eight hits, while striking out eight.
His offense also provided him with more runs than he's accustomed.
Floyd's 3.64 runs of support is the fourth fewest in the American League and even lower on the road, coming in at just 1.45.
But his offense picked him up, and he did his part, too, turning in his fifth quality start in his last six outings. Floyd's eight strikeouts represent his most in a game since fanning nine on June 26 against the Twins.
"Gavin came out throwing strikes. He was great early on. He made the one mistake to Johnson, but he pitched great, he looked good," manager Robin Ventura said.
The same couldn't be said for Romero, who struggled early and lost his ninth straight decision.
The White Sox strung together four consecutive singles off Romero to begin the second inning, the fourth of which gave them an early 2-0 lead.
Dewayne Wise cashed in Pierzynski and Alexei Ramirez after a diving Edwin Encarnacion in left field couldn't field his tailing drive.
Pierzynzki, who started the rally with a hit to center field, extended his hitting streak to 16 games, matching a career high. It's the longest active streak in the Major Leagues.
Two innings later, Wise launched a two-run homer off Romero to put Chicago up 4-0. His four RBIs matched a career high.
"I know they were probably thinking it was a bunt situation," said Wise, who is batting .417 with six RBIs in three games since joining the White Sox. "I showed bunt first pitch and at that point, I was sitting on a fastball and got it."
Romero worked six-plus innings, allowing eight hits, six runs and two walks, while striking out five.
With two homers, the White Sox have hit 22 during their past 12 games.
The win was Chicago's second in a row, marking the first time the club has won back-to-back contests at Rogers Centre since 2006.
Chicago remains two games ahead of the Tigers in the American League Central, following Detroit's 5-1 win over the Twins, and tied for a season-best 12 games over .500.