scoring single to center field in the ninth, ending a brilliant pitching duel between Roy Halladay and Jon Lester and giving the Boston Red Sox a 1-0 win over the Toronto Blue Jays on Tuesday. Halladay (2-4) retired the first two batters in the inning before walking David Ortiz. Manny Ramirez looped a single to center, sending Ortiz to second, and Youkilis hit a ball in front of center fielder Vernon Wells that he couldn't handle. The hard-luck Halladay pitched his fourth straight complete game, but he's lost the last three. Orioles 7, Rays 4: At Baltimore, Garrett Olson took a shutout into the seventh inning, and Baltimore ended Tampa Bay's six-game winning streak in a surprising duel for first place in the American League East. Aubrey Huff homered and Melvin Mora had two RBIs for the Orioles. Recalled from Triple-A Norfolk before the game, Olson (1-0) gave up two runs and four hits in 6 2-3 innings, walking five and striking out six. Tampa Bay's Jason Hammel (2-2) allowed three runs, six hits and four walks in 2 2-3 innings, the shortest of his 28 career starts in the big leagues. Tigers 6, Yankees 4: At New York, Gary Sheffield and Curtis Granderson homered in the third inning, helping old pro Kenny Rogers and Detroit beat road-weary New York. Magglio Ordonez got Detroit going with a two-run single off Phil Hughes (0-4), who was booed by the crowd of 49,194 for allowing six runs and eight hits in 3 2-3 innings. Rogers (2-3) held New York in check despite giving up six hits, including Robinson Cano's two-run homer, and four walks in six innings. Other results: Mariners 7, Indians 2; Twins 3, White Sox 1; Royals 9, Rangers 5; Angels 2, Athletics 0. Hamels keeps Maddux waiting Cole Hamels had an impressive outing and the Philadelphia Phillies beat the San Diego Padres 7-4 in the National League on Tuesday, denying Greg Maddux his 350th career victory. Hamels (3-3) allowed five hits, two runs and struck out six in 7 1-3 innings. Tom Gordon worked out of a bases-loaded jam in the eighth and the Phillies scored four insurance runs in the bottom half. Maddux (2-2) gave up three runs and eight hits in 6 1-3 innings. The four-time Cy Young award winner was trying for the third start to become the ninth pitcher in big league history to reach 350 wins. Scott Hairston hit a pair of homers for San Diego. Nationals 6, Braves 3: At Washington, slumping Ryan Zimmerman had a season-high three hits, including a homer and tie-breaking two-run double, to lead Washington past Atlanta. Zimmerman and Nick Johnson hit consecutive solo shots in the third inning off Tom Glavine, who was coming off his first trip to the disabled list in a 22-season career. Zimmerman hadn't homered since April 2. Then, in Washington's four-run seventh, Zimmerman hit his double off reliever Blaine Boyer (0-3), who was charged with four runs and got only one out. The Braves, whose highlight was Chipper Jones' eighth homer, have lost three straight games. Dodgers 7, Marlins 6: At Miami, Jeff Kent's two-out single drove in Andre Ethier to break a ninth-inning tie and help Los Angeles win its fourth straight game. Mets 5, Pirates 4, 11 innings: At New York, David Wright hit a single over a pulled in outfield with the bases loaded in the 11th inning, giving New York the win over Pittsburgh after the Mets' bullpen wasted a two-hit performance by Johan Santana. Astros 6, Diamondbacks 4: At Phoenix, Geoff Blum doubled in three runs and Houston handed Arizona only its third home loss in 13 games his season. Other results: Brewers 10, Cubs 7; Rockies 3, Giants 2; Cardinals 7, Reds 2.