HOUSTON — Catcher Jason Castro slugged a walk-off home run with two outs in the ninth inning, and the Houston Astros completed a three-game sweep of the Los Angeles Angels with a 3-0 win in the American League Thursday night at Minute Maid Park. Castro was batting .111 (6-for-54) with runners in scoring position before crushing a 1-2 fastball from Angels right-hander Fernando Salas (2-2) out to right field, scoring both third baseman Jed Lowrie and designated hitter Marwin Gonzalez. The blast marked the second career walk-off homer for Castro, who helped lift Houston (58-45) to a two-game lead over the Angels (55-46) in the American League West. Astros right-hander Luke Gregerson (4-1) worked a perfect ninth inning to set the stage for Castro, whose eighth home run was the Astros' second walk-off shot this season. Angels right-hander Matt Shoemaker and Astros left-hander Scott Kazmir engaged in a spirited duel, yet neither factored into the decision. Blue Jays 5, Royals 2 Dioner Navarro hit a two-run homer as the Toronto Blue Jays defeated the Kansas City Royals. Designated hitter Russell Martin aand third baseman Josh Donaldson added solo shots as the Blue Jays celebrated the acquisition of left-hander David Price in an earlier trade with the Detroit Tigers. Red Sox 8, White Sox 2 Steven Wright gave up two runs in seven innings and had a career-high eight strikeouts as the Boston Red Sox completed a 8-2 win over the Chicago White Sox. Wright (4-4) allowed six hits and two walks while throwing a season-high 116 pitches. Tigers 9, Orioles 8 Yoenis Cespedes hit a two-run homer to lead a 16-hit Detroit attack as the Tigers held off a late rally to record a 9-8 victory over the Orioles. Designated hitter J.D. Martinez hit two doubles and drove in three runs while center fielder Rajai Davis added a two-run triple as the Tigers raced to a 7-0 lead in the fourth inning. Twins 9, Mariners 5 Minnesota Twins starting pitcher Phil Hughes did not have nearly his best stuff against the Seattle Mariners but his team mates provided him with more than enough offensive support in a 9-5 win over the Seattle Mariners. Hughes allowed five runs on 10 hits over five innings but got the win anyway, thanks to three-hit performances from outfielders Eddie Rosario and Aaron Hicks. Other results: Rangers 7, Yankees 6; Indians 3, Athletics 1. National League Padres 8, Mets 7 Justin Upton hit a three-run homer with two outs in the top of the ninth inning to complete the San Diego Padres' stunning comeback in an 8-7 victory over the New York Mets in a game that featured two rain delays totalling more than 3-1/2 hours. The Padres trailed 7-1 in the seventh when first baseman Derek Norris hit a grand slam. Phillies 4, Braves 1 Aaron Harang ended a personal eight-game losing streak in his return from the disabled list as the Philadelphia Phillies beat the Atlanta Braves. Harang, out since July 1 with plantar fasciitis of the left foot, went five innings and allowed one run and nine hits, while striking out three and walking one. Nationals 1, Marlins 0 First baseman Ryan Zimmerman hit a solo home run and right-hander Max Scherzer pitched seven scoreless innings, leading the Washington Nationals to a 1-0 win over the Miami Marlins. Jonathan Papelbon pitched a scoreless ninth inning to earn his first save as a Nationals player. He was acquired from the Philadelphia Phillies Tuesday. Reds 15, Pirates 5 Brandon Phillips hit two three-run home runs and had a career-high seven RBIs, while Marlon Byrd added a three-run shot as the Cincinnati Reds pounded the Pittsburgh Pirates 15-5. David Holmberg (1-0), who was recalled from Triple-A Louisville to take Johnny Cueto's spot in the rotation after he was traded to Kansas City on Sunday, allowed two runs and five hits in six innings. Other results: Cubs 5, Brewers 2; Cardinals 9, Rockies 8. — Agencies