Tim Hudson pitched seven gritty innings before turning it over to one of the best bullpens in baseball, as the Atlanta Braves beat the New York Mets 4-0 in the National League Saturday, notching their fourth straight win. Omar Infante had three hits and drove in a run for the Braves after getting four hits in the series opener. Hudson (9-4) helped himself with a pair of hits that included an RBI double during a four-run fifth. The Mets lost All-Star shortstop Jose Reyes, who left the game after making a difficult fielding play in the seventh inning. He has pulled out of Tuesday's All-Star game. New York starter Mike Pelfrey (10-4) allowed 15 of his 25 batters to reach base and hasn't lasted more than six innings in three weeks. Rockies 4, Padres 2: In Denver, Jason Hammel extended his career-best winning streak to six games as Colorado downed San Diego for its season-high sixth straight victory. Hammel (7-3) was perfect for four innings, allowing just one ball to be hit to the outfield, but had to escape a bases-loaded jam in the fifth. Carlos Gonzalez, Melvin Mora and Brad Eldred – only promoted to the majors on Wednesday – all hit home runs for the Rockies. Padres starter Wade LeBlanc (4-7) exited in the sixth. Phillies 1, Reds 0, 11 innings: In Philadelphia, Cincinnati rookie pitcher Travis Wood took a perfect game into the ninth inning before Philadelphia's Jimmy Rollins hit the winning single in the 11th inning. Making his third big league start, Wood dominated Philadelphia's injury-depleted lineup and matched zeros for nine innings with Phillies ace Roy Halladay until Carlos Ruiz got a leadoff double in the ninth. With one out in the 11th, Ruiz hit another double, this one off Bill Bray (0-1). After an intentional walk and a flyout, Rollins lined a single to right off Logan Ondrusek, easily scoring Ruiz. It's the first time the Phillies have had three straight walk-off wins in extra innings. Philadelphia's Jose Contreras (4-3) earned the victory by striking out two in a scoreless inning. Cubs 7, Dodgers 3: In Los Angeles, Tom Gorzelanny impressed again as a starter, guiding Chicago to victory over Los Angeles. Gorzelanny (4-5) allowed one earned run over six innings after being staked to an early 6-0 lead. Its was his second win in three starts after spending almost ll of last month in the bullpen. The Cubs got home runs from Aramis Ramirez and Geovany Soto. Dodgers' John Ely (4-7) threw 47 pitches over 2 1-3 innings in the shortest of his 14 big league starts. He was charged with six runs, including a walk with the bases loaded. Six consecutive Cubs reached base during a three-run third after Ely got the first out. Giants 10, Nationals 5: In Washington, Buster Posey hit a tiebreaking single in a four-run seventh inning and added a two-run homer to help San Francisco beat Washington. Astros 4, Cardinals 1: In Houston, Brett Myers added another quality start to his line, pitching eight strong innings to help Houston beat St. Louis. Diamondbacks 5, Marlins 4: In Phoenix, Chris Snyder hit a two-run homer after having one stolen the inning before and Arizona went on to defeat Florida. Brewers 4, Pirates 3: In Milwaukee, Ryan Braun and Prince Fielder hit back-to-back home runs for Milwaukee in the win over Pittsburgh. Pittsburgh has lost five straight overall and 23 of 25 on the road. The Pirates have dropped 26 of their past 29 games at Milwaukee. Dave Bush (4-6) pitched 6 1-3 innings for the Brewers, giving up two runs. John Axford worked the ninth inning, giving up a leadoff homer to Ryan Doumit before getting the next three batters to earn his 10th save in as many chances. Jeff Karstens (2-4) tossed five innings for the Pirates, giving up four runs and walking six.