Dickey (4-3) allowed two earned runs and four hits in six-plus innings. He walked two and struck out six.
Casey Janssen, activated off the disabled list Sunday, finished for his first save.
Justin Masterson (2-2) matched a season high by allowing five runs and six hits in 5 1-3 innings.
Dickey set down the first eight batters before the Indians opened the scoring in the third. Mike Aviles singled, Michael Bourn walked and Nick Swisher hit an RBI single that dropped just in front of a charging Jose Bautista in right.
Blue Jays manager John Gibbons came out to argue the call by first base umpire Jerry Meals that Bautista had trapped the ball, but didn't challenge it.
Masterson was perfect through three innings before giving a leadoff triple to Jose Reyes in the fourth. Cabrera followed with a sacrifice fly to the warning track in center.
Francisco put the Blue Jays in front with a one-out homer in the fifth, a drive into the second deck.
Toronto chased Masterson and added three more runs in the sixth. Adam Lind hit a two-run double and scored on Francisco's double. Josh Outman came on after Masterson walked Brett Lawrie but got out of it by retiring Josh Thole on a grounder and striking out Kevin Pillar.
Cleveland closed to within one with a three-run seventh. Asdrubal Cabrera singled, David Murphy reached on a fielding error by Lawrie at second base and Yan Gomes walked to load the bases before Dickey hit Lonnie Chisenhall with the first pitch.
Santana singled off Brett Cecil to begin the eighth and advanced on a passed ball. Asdrubal Cabrera and Murphy struck out before Gomes lined a single to left, but Melky Cabrera's one-hop throw to the plate arrived in time for Thole to tag out a sliding Santana to end the inning.
NOTES: Indians manager Terry Francona has been added to John Farrell's staff for the All-Star game. Minnesota's Ron Gardenhire will also assist Farrell. ... Bautista was called out on strikes after his request for time was not granted by plate umpire Jordan Baker in the seventh. Bautista backed out as John Axford threw a strike. ... Reyes returned to the lineup after getting the day off Monday. ... Toronto OF Colby Rasmus, who left Monday's game after six innings with a tight right hamstring, did not start. Gibbons said he hopes Rasmus will be ready to return after two days off. ... The Blue Jays recalled Pillar from Triple-A Buffalo and optioned INF Jonathan Diaz to Triple-A. ... Indians RH Corey Kluber (3-3) faces Blue Jays RH Dustin McGowan (2-1) on Wednesday.