Brad Lidge escaped another bases-loaded jam in the ninth inning as the Philadelphia Phillies held off the Colorado Rockies 5-4 Monday to complete a four-game sweep. Backup catcher Brian Schneider's two-run triple sent the Phillies toward their fifth straight win. The two-time NL champions, still minus injured All-Star second baseman Chase Utley, pulled within 4½ games of idle East-leading Atlanta. Seth Smith hit a two-out, two-run homer off Lidge in the ninth and Colorado went on to load the bases, but Ryan Spilborghs hit a tapper to the left side of the plate. Lidge came in and made a strong throw to first base for the final out, getting his 10th save in 13 chances. Brewers 3, Reds 2: At Milwaukee, pinch-hitter Jim Edmonds homered with two outs in the eighth after just missing a go-ahead shot on the previous pitch as Milwaukee rallied to beat Cincinnati. Rickie Weeks hit a two-run homer in the third inning as Milwaukee won its fifth straight to match a season-best streak after trailing 2-0 early. Edmonds has been unable to play the field since his right Achilles' tendon tightened Saturday night, but he didn't need to run hard after his at-bat against Bronson Arroyo (10-6) in the eighth. Edmonds hit a big blast off a fastball, dropping the bat only to watch his shot sail foul. He sent the next pitch over the Reds' bullpen in right-center field. Cubs 5, Astros 2: At Houston, Geovany Soto drove in two runs and Alfonso Soriano had two doubles and an RBI to help Chicago beat Houston. Cubs starter Carlos Silva (10-4) yielded five hits and one run with four strikeouts. Carlos Marmol allowed one hit in a scoreless ninth inning for his 19th save in 23 opportunities. Soto bruised his left foot and left the game in the middle of the sixth inning after fouling a pitch off of it earlier in the inning. Derrek Lee doubled with one out in the third inning and scored when Marlon Byrd grounded into a force out. Byrd scored when Soriano hit his second double of the game that made it 4-1. Marlins 4, Giants 3: At San Francisco, Dan Uggla and Mike Stanton each hit solo homers as Florida moved above the .500 mark for the first time since early June. Ricky Nolasco (11-7) struck out seven and allowed four hits and one run in 6 1-3 strong innings to win for the sixth time in seven starts. Cody Ross had a sacrifice fly and Stanton added an insurance RBI double in the eighth. Pitcher Barry Zito (8-6) lost for the first time in seven career starts against the Marlins and the Giants had their four-game winning streak snapped. This series is a matchup of two surging teams trying to stay in the playoff chase. Florida is 50-49, above .500 for the first time since the club was 28