The Angels looked lost as Dickey's knuckleball dipped, curled, swerved and curved past them in a 4-0 loss.
"He had it dancing tonight, for sure," manager Mike Scioscia said.
The loss was the Angels' first at Angel Stadium since June 11 against the A's and just their third home loss since May 20. It also snapped a five-game winning streak overall for the Angels (52-37). For Toronto (48-44), the win halted a five-game losing streak.
It was the second time the Angels have been shut out this season, joining a 3-0 loss to Tampa Bay on May 16.
Dickey (7-8) befuddled the Angels, holding them to just one hit through the first five innings. He finished by tossing seven shutout innings to snap a personal four-game losing streak.
"It's frustrating because you see it so good, and then one pitch goes one way and one pitch goes the other way," Mike Trout said.
For Dickey, it marked the fifth time in his last seven starts that he's allowed fewer than three earned runs. It was his second shutout performance of at least six innings this season.
Dickey only threw 11 of his 96 pitches faster than 80 mph.
"The movement was very good," Dickey said, "when it was leaving my hand I could see visibly that it was moving in multiple directions, so that's always a good sign."
The five hits for the Angels were the fewest since managing five against the Rangers on June 21. Prior to Tuesday night, the Angels were averaging nearly seven runs per game during the current seven-game homestand.
"Some night you get hits, some nights you don't," Josh Hamilton said. "Some nights you get him, some nights you don't."
Dickey was staked to a lead in the fifth inning when Jose Reyes singled home Munenori Kawasaki. Reyes' single capped a string of three consecutive Toronto hits and broke the Blue Jays' 0-for-25 skid with runners in scoring position.
Angels starter Tyler Skaggs kept the Blue Jays at bay most of the night but one mistake in the seventh inning gave Toronto a bigger cushion.
With Kawasaki on first base and two out in the seventh, Reyes deposited an 0-1 Skaggs changeup into the left-field bullpen for his seventh home run of the season, giving the Blue Jays a 3-0 lead.
"I have to say that the home run is just a thing that crushed me," Skaggs said.
Skaggs said he located the pitched well but Reyes, who finished the game 4-for-5 with three RBIs, simply made a good play.
"It cut a little bit but he put a good swing on it," Skaggs said. "He's an All-Star shortstop, I would expect him to do something like that."
In his second start since returning from the disabled list, Skaggs (4-5) allowed three runs on a season-high 11 hits in 6 2/3 innings.
"He pitched a really good game, got us to a certain point tonight," Scioscia said. "He pitched with his back against the wall the whole game."
After Dickey walked Chris Iannetta in the second, he retired the next 12 batters before Trout's two-out double in the sixth, and Trout was thrown out at third base trying to stretch that hit into a triple.
"It's easy to second guess but I think when you have a knuckleball pitcher up there, with his share of passed balls and wild pitches, I think it's certainly a play you're going to look to," Scioscia said. "You're going to look to get to third base."
The Angels showed life in the seventh with back-to-back two-out singles from Erick Aybar and Howie Kendrick, but Dickey coaxed Iannetta into an easy groundout to end the inning.
Only three Angels reached second base and Los Angeles was 0-for-2 with runners in scoring position against the knuckleballer.
"It's an adjustment, there's no doubt about it," Scioscia said. "You're still trying to hit a baseball."
But Dickey ensured the Angels didn't.