Dickey allowed two hits in 8 1-3 innings and sparked a four-run fifth with an RBI double, leading Toronto to a 4-0 victory over the San Francisco Giants on Wednesday.
"He was just about perfect today," Blue Jays manager John Gibbons said. "He had it all going on. He was in the strike zone. Everything was really dancing today. ... That's him at his best right there."
Mark DeRosa added a two-run single and Adam Lind had three hits for his eighth multihit performance in the past 12 games, helping the Blue Jays earn a split of the two-game series.
Barry Zito (4-4) was done in by the one big inning and lost at home for the first time since last August. The defending World Series champion Giants have lost 11 of 18 games heading into a nine-game road trip.
Dickey (5-7) bounced back from a pair of rough starts in which he allowed six runs each to Baltimore and Atlanta. With the back and neck problems that contributed to his slow start in Toronto now in the past, Dickey returned to the form that helped him dominate the National League last season for the New York Mets.
He was able to change speeds with his knuckler and throw it for strikes all game, getting the Giants to swing early in a very efficient outing.
"I was changing speeds a lot today, which was good," Dickey said. "I was able to throw a 63, 64 miles per hour one for a strike and I was able to throw a 79 miles per hour one for a strike. As I've gotten healthier, I felt like I've been able to have the latitude to be able to do that. Before it was just trying to muster everything I could to survive an outing."
Dickey retired his first 11 batters before Pablo Sandoval lined a clean single to right field. He didn't allow another baserunner until Hunter Pence walked to lead off the eighth in his best start since joining the Blue Jays in the off-season.
He was replaced after allowing a single to Gregor Blanco and walking Marco Scutaro with one out in the ninth inning.
"He was commanding the knuckleball to where he wanted to throw it," Blanco said. "He was unbelievable. ... He has a lot of movement on it, which makes him so difficult. You don't know where the ball will go. You have to hit a mistake like I did in the last inning when that ball hung up."
Casey Janssen got Sandoval to hit into a double play for his 12th save in 12 chances.
The Blue Jays also helped Dickey with their gloves, with shortstop Maicer Izturis making diving stops to rob Buster Posey and Sandoval of possible hits.
Zito ran into trouble when he walked struggling No. 8 hitter Henry Blanco with one out in the fifth inning. Dickey then squared around to bunt when he saw Sandoval crashing in from third base and Brandon Belt from first.
Dickey pulled back and decided to swing away, knocking a grounder past the charging Sandoval and into the left-field corner for an RBI double.
"I saw both Panda and Belt crashing," Dickey said. "It was slug bunt all the way. I had played it out in my mind that that was what I was going to do if I saw both those guys closing in on me."
Dickey scored on a two-out single by Jose Bautista.
Zito's second walk of the game led to more trouble after Edwin Encarnacion and Bautista pulled off a double steal when Sandoval couldn't get the tag down in time even though Posey's throw beat Bautista to third base. That set up DeRosa's two-run single.
"The fifth inning was the Achilles heel today," Zito said. "Being unable to minimize the damage, the slash hit was OK, but then I gave up a couple of two-out hits that hurt."
Zito allowed seven hits and walked three in six innings while losing at home for the first time since Aug. 2, 2012, against the Mets. The Giants had won Zito's last 14 starts at home, including one in the World Series, and he entered the game with a 1.40 ERA this season at AT&T Park.
NOTES: It was Dickey's first extra-base hit since doubling against Philadelphia on Sept. 24, 2010. ... Zito became the first Giants starter to pitch at least six innings and not strike out a batter since he did it May 12, 2007, at Colorado. ... San Francisco CF Angel Pagan missed his 10th straight game with a strained left hamstring but manager Bruce Bochy hopes he will be able to play Friday in Arizona. ... The Blue Jays finished 3-4 on their road trip that included stops in Atlanta and San Diego and return home to face Texas on Friday.