Adrian Gonzalez's first of two solo homers broke up Cole Hamels' bid for a no-hitter and Wade LeBlanc pitched seven impressive innings as the San Diego Padres beat the struggling Philadelphia Phillies 3-1 in the National League Monday. Hamels (5-5) gave up three hits and two runs in eight innings, losing his third straight start. LeBlanc (3-4) allowed four hits and walked one. Gonzalez lined an opposite-field shot into the flower bed just over the left-field wall to snap a scoreless tie. Scott Hairston connected three pitches later for a 2-0 lead. Giants 6, Reds 5: At Cincinnati, Juan Uribe drove in four runs with two singles to provide San Francisco's lead in a back-and-forth game against Cincinnati. Uribe had a two-run single in the third and another in the seventh, when the Giants rallied against reliever Daniel Ray Herrera (0-3) for their ninth win in their last 13 games. Jay Bruce had three hits off left-hander Barry Zito, including a solo homer. Sergio Romo (2-3) got the victory in relief. Cubs 6, Pirates 1: At Pittsburgh, Carlos Silva extended the best start by a Cubs pitcher in 43 years, allowing one run over seven innings, and Ryan Theriot scored four times as Chicago downed Pittsburgh. Rockies 5, Astros 1: At Denver, Jason Hammel pitched 7-plus crisp innings to move to three wins and a loss since coming off the disabled list on May 15, and Clint Barmes had a two-run double as Colorado downed Houston. Dodgers 12, Cardinals 4: At Los Angeles, Blake DeWitt hit his first home run of the year and drove in a career-high five runs to lead Los Angeles to its seventh win in nine games. Diamondbacks 7, Braves 4: At Phoenix, Stephen Drew drove in four runs, Mark Reynolds hit his 13th home run of the season and Arizona handed the NL East leaders their third loss in four games.