After Cano’s hit, Nick Swisher ended Janssen’s scoreless streak at 16 2-3 innings with an RBI single.

Francisco Cervelli hit a two-run homer off Ricky Romero (13-10). The Yankees improved to a major league-best 36-9 in day games and ended Romero’s winning streak at six straight decisions. His last loss came against New York on July 16.

Boone Logan (5-2) relieved Bartolo Colon in the seventh and got two outs for the victory.

In Boston, Carl Crawford hit a grand slam as Boston scored eight runs in the fourth inning and snapped a two-game skid with a victory over Texas.

Jarrod Saltalamacchia had a two-run homer during the big inning, which featured eight hits as the Red Sox sent 13 batters to the plate and bounced back from a 10-0 loss to the Rangers the night before.

Erik Bedard (5-9) earned his first win since joining Boston in a trade with Seattle.

Josh Reddick had four hits and Dustin Pedroia barely missed a grand slam, hitting a shot high off the center-field wall with the bases loaded in the sixth as the Red Sox tagged six Texas pitchers for 16 hits.

In Anaheim, California, Vernon Wells hit a tiebreaking solo homer, Mark Trumbo hit his first career grand slam and Peter Bourjos also went deep for Los Angeles.

Jered Weaver (16-7) tied a career high for wins, despite allowing six runs and eight hits over five innings and throwing 111 pitches a day after attending his grandfather’s funeral in Oregon.

The victory, coupled with Texas’ 12-7 loss at Boston, pulled the Angels within 3 1/2 games of the Rangers in the AL West with 23 remaining — including a season-ending three-game series against Texas in Anaheim.

In Oakland, California, Brandon McCarthy pitched a three-hitter for his first shutout in more than two years, leading Oakland over Seattle.

McCarthy (8-7) matched his career high of 10 strikeouts and faced only four over the minimum. The right-hander allowed three singles and finished the gem in style, slipping a called third strike past Mike Carp on his 114th pitch.

Cliff Pennington had a two-run double and Scott Sizemore homered to help the A’s win their third straight after dropping five in a row.

In Detroit, Miguel Cabrera hit a game-ending solo homer in the ninth inning, capping a stirring Detroit rally against Chicago.

The first-place Tigers trailed 8-1 in the fifth and 8-6 heading into the ninth, but Ryan Raburn tied it with a two-run shot off Sergio Santos. Cabrera won it one out later with his 25th homer of the year.

Santos (3-4) hadn’t allowed a run in his previous 30 road appearances, dating to last season.

Austin Jackson tripled twice and Luis Marte (1-0) earned his first big league win with a perfect ninth. The game was delayed 36 minutes in the eighth by rain.

In St. Petersburg, Florida, B.J. Upton had five RBIs and Wade Davis pitched effectively into the seventh inning to lead Tampa Bay past Baltimore.

Upton hit a two-out, three-run double off Alfredo Simon (4-8) to make it 6-2 in the fifth. The Rays tied it at 2 during the first when Upton drove in two runs on a double.

Upton had just 16 RBIs in his previous 63 home games this season.

Davis (9-8) allowed three runs and five hits in 6 2-3 innings. The right-hander struck out five and walked four. Kyle Farnsworth pitched the ninth for his 23rd save.

In Kansas City, Missouri, Luke Hochevar pitched eight innings of three-hit ball and Kansas City handed Cleveland a costly loss.

Hochevar (10-10) allowed an unearned run, struck out eight and walked one while throwing a career-high 117 pitches. The right-hander is 5-2 with a 3.51 ERA in 10 starts since the All-Star break.

The Indians lost ground in the AL Central, falling 6 1/2 games back of first-place Detroit.

The start of the game was delayed 20 minutes by rain, and showers caused another 16-minute break in the second inning. But it was smooth sailing from there, at least for the Royals.