Encarnacion, who has eight homers on the season, also had a double and drove in three runs for the game.
Juan Francisco added his seventh home run of the season for the Blue Jays (21-21), who took the rubber match of the three-game series with the Indians (19-22) to complete a 5-4 home stand.
David Murphy, who had five hits and five RBIs in Cleveland's 15-4 win on Wednesday, hit his third homer of the season in the fifth inning.
Happ (2-1) allowed six hits, two walks and one run as Cleveland dropped to 4-10 when facing a left-handed starter, 0-8 on the road. It was Happ's third start of the year after being on the disabled list with a sore back and pitching from the bullpen on his return.
Casey Janssen, who also started the season on the disabled list, pitched the ninth for his second save of the season.
Cleveland right-hander Danny Salazar (1-4) needed 98 pitches to work through four innings and was replaced by right-hander C.C. Lee to start the fifth with the Blue Jays leading 2-1.
Salazar allowed five hits, including second-inning homers by Encarnacion and Francisco, two walks and two runs. He also hit a batter.
Lee faced two batters. Jose Bautista led off the fifth with a single and Encarnacion lofted a drive to left on a 3-2 fastball. It was the second time he has hit two homers in a game this season and it was the 13th multi-homer game of his career.
Left-hander Brett Cecil pitched the seventh for Toronto and right-hander Steve Delabar took over in the eighth and was greeted by Ryan Raburn's double. Carlos Santana walked. But Asdrubal Cabrera lined out to right and pinch hitter Lonnie Chisenhall lined out to centre. Yan Gomes singled up the middle to cut the lead to two runs and bring in left-hander Aaron Loup who struck out Murphy.
NOTES: Right-hander Dustin McGowan, who is 2-2 with a 5.08 earned-run average in eight starts, has been removed from the starting rotation and will pitch from the bullpen. Right-handers Marcus Stroman and Todd Redmond are candidates to start in his place next Tuesday in Boston. Right-hander Liam Hendriks who is 5-0 with a 1.51 ERA at triple-A Buffalo is another possibility. … Centre-fielder Colby Rasmus (hamstring) was placed on the 15-day disabled list on Thursday and outfielder Anthony Gose was recalled from Buffalo. …The Indians put outfielder Nyjer Morgan (right knee sprain) on the DL and called up infielder Jesus Aguilar from triple-A Columbus. … The Blue Jays travel to Arlington, Tex., to play the Rangers in a three-game series that opens Friday with Drew Hutchison (1-3, 4.37 ERA) starting against Yu Darvish (3-1, 2.33 ERA).