Toronto Blue Jays starter J.A. Happ had to deal with a cramp in his side while warming up before Tuesday's game against New York.

By the time he got comfortable on the mound, the Yankees were well on their way to a comfortable victory.

Alfonso Soriano hit a towering three-run homer in New York's four-run first inning and veteran left-hander Andy Pettitte threw seven shutout innings as the Yankees dumped Toronto 7-1 at Rogers Centre.

"You spot them four runs right out of the gate, it's tough to overcome that," said Blue Jays manager John Gibbons. "It really is. We've been saying all along that [if] we get a decent pitching outing then we've got a chance.

"But you spot them early, especially when we're not scoring a lot of runs right now, it makes it tough."

Soriano added another homer in the third inning — the 28th of the season and 400th of his career — while Mark Reynolds and Alex Rodriguez also had solo homers for New York (70-62). The Yankees outhit the Blue Jays 12-10.

Pettitte (10-9) was in fine form, allowing five hits and two walks while striking out three.

'You spot them four runs right out of the gate, it's tough to overcome that. It really is. We've been saying all along that [if] we get a decent pitching outing then we've got a chance.'—Jays manager John Gibbons

"He was really good, he went through the lineup with not too many pitches the first time," said Yankees manager Joe Girardi. "He got some big outs when he had to. His stuff was really good tonight. I thought he was sharp."

Happ (3-4) said the cramp was not a significant issue and he didn't want to use it as an excuse.

"It wasn't the reason I performed the way I did," he said. "I wasn't sharp enough in that first inning. Soriano got me on a first pitch and it's tough to get behind against a pitcher like that and a team like that. He did his job and I didn't do mine."

New York did all of its damage in the opening inning before Toronto (59-74) recorded an out.

Leadoff man Brett Gardner doubled, moved to third on a wild pitch and scored when Derek Jeter stroked a single up the middle.

Cano leaves in 1st inning

Robinson Cano reached after he was hit in the left hand by a pitch and Soriano followed with a no-doubt blast to deep left field. Cano left the game and underwent precautionary X-rays, which were negative.

"The fact that there's no break is a good sign," Girardi said. "We haven't had a lot of luck on our side when it comes to X-rays. We got some tonight."

Soriano's second homer bounced off the top of the wall, just out of the reach of Toronto left-fielder Kevin Pillar.

"I never thought I was going to hit 400 homers in the big leagues," Soriano said.

The Blue Jays got their first hit of the game in the bottom of the inning on a Moises Sierra single. Toronto put two runners on in the fourth when Rajai Davis doubled and Brett Lawrie of Langley, B.C., reached on a walk but Mark DeRosa struck out to end the threat.

Esmil Rogers relieved Happ with two outs in the fifth inning and got Vernon Wells to line out with two runners on. Happ allowed five earned runs, seven hits and two walks while striking out five.

Sierra hit a one-out double in the fifth and tried to score on a single to centre field by Ryan Goins. Gardner's throw home was accurate and Sierra slid but couldn't avoid Chris Stewart's tag.

Reynolds hit his 17th home run of the season in the sixth inning. Rodriguez went deep an inning later for his fourth homer of the year and 651st of his career.

The Blue Jays scored their lone run in the eighth inning off reliever Adam Warren.

Pillar doubled to the wall in left-centre field to score Goins from first base. Jose Reyes followed with a single to put runners on the corners but pinch-hitter Anthony Gose hit into an inning-ending double play.

Sierra tied a career high with his three-hit game. Announced attendance was 34,047 and the game took two hours 43 minutes to play.