Alex Gordon and Alberto Callaspo homered to lead the last-place Kansas City Royals past the Detroit Tigers 7-4 for a surprising three-game sweep of the American League Central leaders Thursday. It was the first three-game sweep of an AL team at home this season for the Royals. They've won four straight overall for the first time since June 16. The Tigers rolled into town on Tuesday on a six-game winning streak, while the Royals had dropped four in a row. But beginning with Bruce Chen Tuesday, the Royals proceeded to win with three straight spot starters. Blue Jays 3, Twins 2: At Toronto, Brett Cecil won his final start of the season for Toronto, allowing two runs and seven hits in six innings. Toronto is stopping his season after he pitched a combined 142 1-3 innings in the majors and at Triple-A. Minnesota went 1 for 9 with runners in scoring position and are averaging just 3.2 runs during their past 10 games. Joe Mauer went 0 for 4, dropping his major league-leading average to .363. One night after the teams drew 11,159, the smallest crowd in the 20-year history of Rogers Centre, attendance was 11,461, the second-lowest this season. Angels 3, Mariners 0: At Anaheim, California, John Lackey pitched a five-hitter for his first complete game of the season and Torii Hunter broke a scoreless tie with a two-run homer as the Los Angeles Angels moved to a season-best 29 games over .500. Lackey (10-7) struck out seven and walked one to help the Angels increase their AL West lead to five games over idle Texas. The right-hander has allowed one earned run in 26 innings over his last three starts. Mariners outfielder Ichiro Suzuki was 0 for 4 and still needs four hits to reach the 200 mark for the ninth consecutive season, which would break the major league mark he shares with Wee Willie Keeler (1894-1901). Rockies win 7th straight Garrett Atkins hit a two-run homer and Jason Giambi had a two-run double in a five-run third inning, helping the Colorado Rockies to a 5-1 win over the Cincinnati Reds Thursday for their seventh straight victory in the National League. The NL wild card leaders increased their cushion to 4-1/2 games over idle San Francisco and crept within two games of first-place Los Angeles in the NL West. The Dodgers also had the day off. By sweeping four games from the Reds, the Rockies wrapped up a 9-1 homestand - one of their best in franchise history. Next, Colorado embarks on a nine-game road trip that includes three in San Francisco. Nationals 8, Phillies 7: At Washington, Ian Desmond homered and drove in four runs in his major league debut and Livan Hernandez pitched effectively into the eighth inning as Washington held off Philadelphia. Adam Dunn hit his 36th homer for the Nationals, who gave up five runs in the ninth before Ron Villone got Ryan Howard to ground into a game-ending double play with runners at the corners. Moments earlier, Matt Stairs snapped an 0-for-30 skid with a pinch-hit grand slam. Philadelphia's lead in the NL East was cut to five games over Florida. The Phillies had won nine straight against Washington. The last-place Nationals won for only the second time in 12 games overall. Marlins 13, Mets 4: At New York, Nick Johnson drove in four runs and Florida beat the listless Mets to gain ground on Philadelphia in the NL East. Braves 9, Astros 7: At Houston, Garret Anderson drove in three runs and Nate McLouth homered as the Atlanta Braves broke out of their offensive slump with a win over Roy Oswalt and the Astros.