Johan Santana pitched a four-hit shutout to make a closer unnecessary as the New York Mets beat the Colorado Rockies 4-0 Thursday after Francisco Rodriguez was arrested on a charge of assaulting his father-in-law at Citi Field. Just before the game, the Mets suspended Rodriguez for two days without pay, a move that if not reversed would cost him $125,683 of his $11.5 million salary. Rodriguez was charged with third-degree assault after Wednesday's game, police said. His father-in-law was in a hospital with a scraped face and bump on his head following the confrontation at a Citi Field family lounge. Santana (10-6) won for the first time in four starts, and Carlos Beltran had his first three-hit game for the Mets since his season started on July 15. Brewers 8, Diamondbacks 4: At Milwaukee, Casey McGehee set a team record with his ninth straight hit, going 4 for 4 in Milwaukee's win over Arizona. McGehee had a solo homer, a two-run double, an RBI single and another single. His seventh-inning single off reliever D.J. Carrasco broke the team mark set by Ryan Braun in 2008. The MLB record for consecutive hits is 12, set by Pinky Higgins in 1938 and matched by Walt Dropo in 1952. McGehee scored three times and helped the Brewers avoid a four-game sweep. Giants 8, Cubs 7: At San Francisco, pinch-hitter Andrew Torres hit a bases-loaded single in the bottom of the ninth inning to send San Francisco over Chicago. The second-place Giants host NL West-leading San Diego in a weekend series. Pat Burrell hit a grand slam and solo home run and Pablo Sandoval also homered to snap a drought of 178 at-bats without a longball. Aaron Rowand led off the ninth with an infield single against Andrew Cashner (1-5) and went to second on a sacrifice by Freddy Sanchez. After Aubrey Huff was intentionally walked, Cashner walked Buster Posey unintentionally to load the bases. Torres, held out of the starting lineup before of tightness in his legs, then hit a drive to center that landed on the warning track and bounced over the fence. Padres 3, Pirates 0: At San Diego, Ryan Ludwick hit a two-run homer while Jon Garland and three relievers combined on a four-hitter to lead San Diego to a victory that completed a three-game sweep of lowly Pittsburgh. The Padres protected their 2 1/2-game lead over the Giants in the NL West going into a weekend showdown at San Francisco. Giants lefty Jonathan Sanchez, who last weekend guaranteed a sweep over the Padres, will start Friday night's series opener against Padres lefty Clayton Richard. San Diego is 7-1 against the Giants this year. Phillies 10, Dodgers 9: At Philadelphia, Carlos Ruiz's game-winning two-run hit in the ninth inning capped a frantic rally to help Philadelphia beat Los Angeles. Ruiz's shot bounced off the left-center field fence off Dodgers closer Jonathan Broxton, scoring Jayson Werth and Ben Francisco. The Phillies entered the eighth inning trailing 9-2. They scored four runs in the eighth off three relievers, then four off Broxton (4-4), who began the inning by hitting Placido Polanco and walking Mike Sweeney and Werth. Marlins 5, Nationals 0: At Washington, Ricky Nolasco rebounded from a rough start by taking a shutout into the seventh inning and Mike Stanton homered for the second consecutive game as Florida beat Washington to complete a three-game sweep. Using his biting slider, Nolasco (13-8) struck out eight batters in six-plus innings, allowing six hits and one walk. Stanton hit a two-run homer off Livan Hernandez (8-8) in the second, when umpires checked a replay of the drive and ruled it cleared the fence. That gave the rookie a hit in six straight at-bats after going 5 for 5 Wednesday. Thursday's start was delayed 1 hour, 57 minutes because of rain.