PITTSBURGH (AP) — The Pittsburgh Pirates' nine-game winning streak came to a halt with a 3-1 home loss to Philadelphia on Tuesday, with Phillies starter Jonathan Pettibone pitching neatly into the sixth inning.

In other key games, Boston beat slumping San Diego, the Los Angeles Angels won their seventh-straight game by downing St. Louis and Homer Bailey pitched a no-hitter in Cincinnati's win over San Francisco.

Detroit came back from a four-run deficit to edge Toronto, Kendrys Morales had six RBIs in Seattle's win over Texas and Oakland regained the American League West lead by beating the Chicago Cubs.

Phillies slugger Ryan Howard ended an 0-for-22 slump — including 12 strikeouts — with an RBI single in a three-run sixth inning which opened the scoring against Pittsburgh.

Howard and Michael Young each had two hits for Philadelphia, which scored all of its runs against Pirates rookie spot starter Brandon Cumpton (0-1).

Pettibone (4-3) won for the first time in nine starts by giving up just one run in 5 2-3 innings.

Boston's Brandon Snyder hit a bases-loaded double to help the Red Sox to a 4-1 win over San Diego.

Boston starter John Lackey (6-5) struck out six over eight strong innings, giving up one run and one walk.

The Red Sox, who improved to 6-1 during a nine-game homestand.

Los Angeles pitcher Jered Weaver earned his second win of an injury-plagued season with help from a five-run second inning as the Angels beat St. Louis 5-1.

Weaver (2-4) allowed one run and no walks over seven innings. He struck out five in his ninth start of the year, working with runners on base in every inning but the seventh.

L.A.'s three-time NL MVP Albert Pujols played his first game against his former club and was 0 for 3 with two strikeouts and a walk.

Cincinnati's Homer Bailey threw his second no-hitter in 10 months to guide the Reds to a 3-0 win over San Francisco.

Bailey (5-6) became the third Reds pitcher with more than one no-hitter, joining Jim Maloney and Johnny Vander Meer — still the only big leaguer to toss two in a row.

The last pitcher to throw one no-hitter and then another before anyone else in the majors accomplished the feat was Hall of Famer Nolan Ryan in 1974 then 1975, according to STATS.

Bailey walked Gregor Blanco leading off the seventh, the only Giants batter to reach base.

Detroit's Torii Hunter drove in the tiebreaking run with a two-out infield single in the eighth inning as the Tigers rallied from a 4-0 deficit to beat Toronto 7-6.

Omar Infante singled off Neil Wagner (1-3) to begin the eighth, moving to second on a sacrifice bunt and took third on a deep fly ball. Hunter followed with a comebacker that bounced off Wagner and rolled to the shortstop, whose throw to first was late.

Hunter had four singles and Miguel Cabrera hit a three-run home run as the Tigers snapped a three-game losing streak.

The Blue Jays had won their previous seven home games.

Oakland returned to the top of the AL West with an 8-7 win over the Chicago Cubs, leapfrogging Texas, which lost 9-2 to Seattle.

Oakland's Derek Norris hit a three-run homer with two outs in the eighth inning to give the A's victory.

Dan Otero (1-0) pitched one scoreless inning for his first career win, and Grant Balfour finished for his 20th straight save this season and 38th overall.

Seattle's Kendrys Morales homered twice and tied a career high with six RBIs to lead the Mariners past Texas.

Morales had a solo home run in the first and a three-run shot in the fifth, then added a two-run single in the sixth.

Seattle's Joe Saunders (6-8) won for the first time in eight regular-season starts at Rangers Ballpark, allowing one earned run while striking out five in 6 2-3 innings.

Cleveland's Carlos Santana and Asdrubal Cabrera each drove in a pair of runs, as the Indians took advantage of some wild pitching to beat Kansas City 6-5.

Los Angeles' Clayton Kershaw tossed a four-hitter for his second shutout of the season and rookie sensation Yasiel Puig had three more hits, including a solo homer, to lead the Dodgers to an 8-0 win over Colorado.

Chicago's Adam Dunn and Conor Gillaspie homered to help the White Sox beat Baltimore 5-2, snapping the Orioles' four-game winning streak.

New York's Robinson Cano homered for the third straight game as the Yankees beat Minnesota 7-3.

Atlanta's Chris Johnson hit a two-run, go-ahead double in a four-run sixth inning that helped the Braves to an 11-3 win over Miami.

New York's Jeremy Hefner and the Mets handed Arizona pitcher Patrick Corbin his first loss, breaking away from the Diamondbacks on a drizzly night for a 9-2 win that sent the NL West leaders to their season-worst fifth straight defeat.

Milwaukee could find no answer to Washington's Stephen Strasburg but profited against his relievers as the Brewers beat the Nationals 4-0.

Tampa Bay's David Price pitched seven scoreless innings in his return from injury as the Rays cruised to an 8-0 win over Houston.