Armando Galarraga carried a perfect game into the seventh inning, Miguel Cabrera drove in three runs and the Detroit Tigers beat the Kansas City Royals 7-1 Wednesday to complete a three-game sweep. Galarraga retired the first 18 batters before David DeJesus led off the seventh with a single to right on a full-count pitch. To that point, the 26-year-old rookie right-hander had allowed just two fly balls to the outfield and struck out six. He wound up allowing a run in the seventh on three singles and a walk, but left the bases loaded. Red Sox 6, Mariners 3, 12 innings: At Seattle, Mike Lowell hit a two-run single off Sean Green in the 12th inning, and the Red Sox took advantage of two outfield errors for their first sweep at Seattle in 15 years. The Red Sox entered the series having lost eight of 11 on the road, but flew home for a weekend against the Yankees after their first three-game sweep on the road this season. Jonathan Papelbon (4-3), pitching a third consecutive day, escaped a jam of his own creation in the 11th inning. Craig Hansen worked the 12th for his second save in four chances. Jacoby Ellsbury began the 12th with a single off Green (2-3). A hit-and-run groundout by Dustin Pedroia got Ellsbury to second before an intentional walk to J.D. Drew. Kevin Youkilis followed with a liner that Willie Bloomquist couldn't handle, and Lowell unloaded the bases with his second hit of the game. Sean Casey made it 6-3 with a single that drove in Youkilis. White Sox 10, Rangers 8: In Chicago, Carlos Quentin hit two home runs, including the go-ahead, three-run shot during a five-run eighth inning to help the White Sox rally. Angels 14, Indians 11: In Anaheim, California, Jeff Mathis had four hits with a career-high six RBIs, including his first grand slam in Major League Baseball, and Casey Kotchman had a career-best five hits for the Angels. Yankees 5, Twins 1: In New York, Mike Mussina baffled the Twins for eight innings, Alex Rodriguez hit a two-run double and the Yankees won their 10th straight at home. Rays 4, Athletics 3: St. Petersburg, Florida, James Shields allowed three runs pitching into the ninth inning, and Jonny Gomes and Ben Zobrist hit consecutive homers to lead the Rays. Blue Jays 2, Orioles 1, Suspended: At Baltimore, the game between Toronto and the Baltimore Orioles on Wednesday night was suspended by rain with the Blue Jays leading 2-1 in the sixth inning. Play will resume Thursday afternoon with two outs in the top of the sixth. The teams will then play the finale of the four-game series. Dunn lifts Reds Adam Dunn hit Cincinnati's first grand slam of the season, and the Reds kept Greg Maddux in the longest winless streak of his Major League Baseball career by beating the San Diego Padres 9-5 on Wednesday. The 42-year-old Maddux hasn't won since May 10, going 14 starts without a victory. He was thwarted again on Wednesday with an assist by the Padres' defense and bullpen. Maddux left the game with a 3-2 lead in the sixth after giving up an unearned run. Edwin Encarnacion hit the first pitch by Cla Meredith (0-3) for a two-run homer that put the Reds ahead, dooming Maddux to his fifth loss with nine no-decisions since his last victory. Rockies 5, Dodgers 3: In Denver, Matt Holliday drove in two runs, including one on a double that bounced off the pitcher's glove, and Jeff Baker scored twice to lead the Rockies. Pirates 8, Astros 7: In Houston, Jason Bay hit a two-run homer to help the Pirates earn their first road sweep of the season and first three-game win streak since May 6-12.