Facing his former team, Happ (1-0) walked four and pitched out of trouble often in his first start of the season. The left-hander was filling in for injured righty Brendan Morrow. Four relievers finished off the seven-hitter.
Kyle Kendrick (0-3) lost his eighth straight decision, dating to last season. He gave up three runs and seven hits in seven innings.
The Phillies failed to go two games above .500 for the first time since Oct. 1, 2012. They are 0-4 in those situations this season.
A video review in the eighth inning cost Marlon Byrd an infield single after replay officials overturned a close call at first. Reyes charged the slow roller, barehanded it and his one-hop throw was in time to get Byrd.
Reyes hit his 19th career leadoff homer to give the Blue Jays the lead. Melky Cabrera followed with a single and scored on Juan Francisco's bloop single to left with two outs.
Josh Thole's RBI double to left-center made it 3-0 in the second.
Byrd greeted reliever Esmil Rogers with a triple to start Philadelphia's sixth. But Byrd was thrown out by right fielder Jose Bautista trying to score on Ryan Howard's fly out. A video review confirmed the call.
Side-winding lefty Aaron Loup struck out three batters in the seventh, including Chase Utley to strand two runners. Brett Cecil worked the ninth for his second save.
Jimmy Rollins wasn't in Philadelphia's starting lineup because he tweaked his right groin in Sunday's 1-0 win over Washington. Freddy Galvis filled in for him and snapped an 0-for-24 slump with a line-drive single to right in the third. Rollins popped out as a pinch-hitter in the ninth.
Happ made his first appearance since April 23. He pitched out of the bullpen three times after starting the season on the disabled list because of a back injury.
Happ was 12-4 with a 2.93 ERA and finished second in NL Rookie of the Year voting for the NL champion Phillies in 2009. He was traded along with two minor-leaguers to Houston for Roy Oswalt on July 29, 2010.
NOTES: Bautista was hit by a pitch in the seventh inning, extending his streak to 32 games reaching safely. ... Blue Jays 2B Brett Lawrie left the game in the fourth inning because of tightness in his right hamstring. He's day to day. ... Reyes has three homers in 36 at-bats against Kendrick. Reyes has more hits (181) against the Phillies than any current major leaguer. ... Phillies LHP Jake Diekman caught an infield popup in the eighth inning, calling off SS Galvis and C Carlos Ruiz. ... Galvis' hitless streak was the longest by a Phillies position player since Ruiz went 0 for 26 in 2011. ... LHP Cole Hamels (0-2, 6.75) makes his third start of the season on Tuesday night against Toronto RHP Drew Hutchison (1-2, 3.82). Hamels was pushed back two days because of the flu.