CINCINNATI (AP) — Cincinnati's Todd Frazier homered and drove in four runs, leading the Reds out of their offensive slump to an 8-1 victory over San Francisco on Monday in a game shortened to six innings because of rain.

Among other games, Toronto notched its seventh-straight home win by downing slumping Detroit, and Andy Pettitte broke a longstanding New York Yankees record in the win over Minnesota.

Cincinnati's Frazier had an RBI single and a three-run homer off Giants starter Mike Kickham (0-3), who has been hit hard in each of his three major league starts.

Reds starter Bronson Arroyo (7-6) gave up just two hits in six innings.

Toronto's R.A. Dickey won again, steering the Blue Jays to an 8-3 win over Detroit.

Coming off his shutout against Tampa Bay, Dickey (8-8) was sharp and won for the third time in four starts. The knuckleballer allowed two runs in seven innings.

Jose Reyes and Mark DeRosa homered for the Blue Jays, who delighted a bumper crowd on Canada Day.

The Tigers lost for the sixth time in seven games.

New York's Pettitte broke Whitey Ford's club record for career strikeouts as the Yankees defeated Minnesota 10-4.

Pettitte allowed four runs in five innings.

Robinson Cano homered twice as the slumbering Yankees offense woke up with seven runs in the last two innings to reach double digits for the first time in almost two months.

The Yankees' crosstown rivals, the Mets, also had a win, edging Arizona 5-4 in 13 innings.

New York's Josh Satin tied the game with an RBI single in the ninth. Arizona's Cody Ross led off the 13th with a homer, but the Mets fought back again.

Satin doubled with one out off Josh Collmenter (4-1) and John Buck was intentionally walked. Mets pitcher Matt Harvey pinch hit and sacrificed the runners over.

After another intentional walk, Andrew Brown lined a pitch into left-center to end a game that lasted 5 hours, 13 minutes, and handed the Diamondbacks a fourth-straight loss.

Washington's Bryce Harper homered on his first swing since returning from 31 games out injured, and his Nationals teammates quickly joined in, beating slumping Milwaukee 10-5.

Tampa Bay's Matt Moore pitched seven scoreless innings for his 11th win of the season, and Ryan Roberts homered twice as the Rays routed Houston 12-0.

Miami's Jose Fernandez struck out 10 and allowed only two hits in a career-high eight innings as the Marlins beat San Diego 4-0 to match a season high with its third consecutive victory.