The Blue Jays delighted a sellout crowd of 45,766 on Canada Day with their 11th victory in 13 games at Rogers Centre.
Coming off his two-hit shutout against Tampa Bay, Dickey (8-8) was sharp and won for the third time in four starts. The knuckleballer allowed two runs and six hits in seven innings, striking out four and walking one.
"Just another great outing," Blue Jays manager John Gibbons said. "Second one in a row. I see more bite on his knuckleball than we've seen in the past a little bit."
Plagued by back and neck soreness early in the season, Dickey has put those issues behind him and found increased velocity as a result.
"It's been kind of a tough go getting it back," Dickey said of his velocity. "I threw a knuckleball 81 miles an hour today, I threw a lot at 80 miles an hour, I threw an 85 mile an hour fastball. All those velocities are tops for the year.
"That's the velocity I could count on last year," he said. "You can get away with a lot more mistakes when the velocity's up there."
Detroit slugger Prince Fielder said it was tough to track Dickey's dancing pitches.
"It was knuckling," Fielder said. "It's hard for catchers to catch it, so imagine how hard it is to hit it."
Reyes hit a leadoff shot in the third against Tigers rookie Jose Alvarez (1-2). For Reyes, it was his third homer of the year and second in two days.
DeRosa added a three-run drive in the fourth off reliever Luke Putkonen.
Fielder and Omar Infante hit solo homers for the Tigers. Detroit lost for the sixth time in seven games.
"We're in a little funk right now and we've just got to get ourselves out of it," Tigers manager Jim Leyland said. "You'll got to roll with that punch and you've got to try and do something about it."
Infante went 4 for 4 with a two-out homer in the ninth. Tigers star Miguel Cabrera, who came in with an AL-leading .373 batting average, went 0 for 4 with two strikeouts.
Toronto opened the scoring in the second when Munenori Kawasaki hit an RBI single. Catcher Josh Thole tried to score from second on the hit, running through third base coach Luis Rivera's stop sign, but was thrown out at the plate by left fielder Andy Dirks.
The Blue Jays chased Alvarez with a four-run third. After Reyes homered, Rajai Davis doubled and stole third on a throw back to the pitcher.
Walks to Jose Bautista and Colby Rasmus loaded the bases for J.P. Arencibia, who hit a two-run single. Bautista slid home safely after Dirks' throw hit his helmet and bounced away, sending Rasmus to third. Maicer Izturis followed with a sacrifice fly.
Fielder hit his 14th homer in the fourth and Infante added an RBI double.
Alvarez lost his second straight start, giving up four earned runs in a career-low three innings. He walked three and struck out four.
"He just didn't have real good control and he left the ball up," Leyland said. "Of course, you pay for that against good big league hitters."
Blue Jays DH Edwin Encarnacion was scratched from the lineup with hamstring soreness and replaced by Arencibia. ... Following the game, Detroit optioned C Bryan Holaday to Triple-A. C Alex Avila, out since June 17 with a sore left forearm, will be activated off the DL Tuesday. ... Infante had three hits off Dickey and is 16 for 31 against him in his career. ... Toronto 1B Adam Lind, who left Sunday's game at Boston with a sore back, was held out of the lineup. He is day to day. ... Canadian IndyCar driver Alex Tagliani threw out the first pitch.