Giants pitchers have gone 17 straight games giving up three or fewer runs, the longest streak since the Chicago White Sox set the record with 20 in a row in 1917, the Elias Sports Bureau said.

San Francisco moved a half-game ahead of San Diego, which lost at Los Angeles. The Giants have the same record as idle Atlanta, which leads the wild-card race. Madison Bumgarner (6-6) scattered seven hits over seven innings and struck out nine.

Uribe had only two hits in his previous 21 at-bats before his quick six RBIs as the Giants teed off on Ryan Dempster  (14-11) and reliever Thomas Diamond .

In Los Angeles, Hiroki Kuroda  pitched eight superb innings, Andre Ethier  had two run-scoring hits and the Los Angeles Dodgers sent the San Diego Padres back into second place.

Kuroda (11-13) allowed one run and five hits, retiring 14 of his last 15 batters. The right-hander, who has made 65 starts without a complete game since his one-hitter against Atlanta on July 7, 2008, threw 98 pitches before Hong-Chih Kuo  struck out the side in the ninth to get his 10th save in 11 chances.

Mat Latos  (14-8) lasted five-plus innings and lost his third straight decision.

In Phoenix, Stephen Drew  homered and had four RBIs, Kelly Johnson  hit a two-run shot and the Arizona Diamondbacks held off Colorado to complete a three-game sweep of the fading Rockies.

Colorado had won 13 of 15 in another late-season run to get close in the NL West, but leaves the desert 3 1/2 games behind San Francisco in the division and Atlanta in the wild-card race.

Jeff Francis  (4-6) struggled in his second start off the disabled list and the Rockies got little production from Troy Tulowitzki  to go home on a debilitating four-game losing streak.

Carlos Gonzalez  hit his first career grand slam in the seventh inning and added a two-run single in Colorado's three-run ninth, but the Rockies couldn't come all the way back.

Tulowitzki, having a huge September, went 2 for 12 in the series. His only RBI came in the ninth on a groundout with runners at second and third and one out. That cut Arizona's lead to 10-9, but Juan Gutierrez  struck out pinch-hitter Melvin Mora  with two on for his 12th save.

Chris Young also homered for Arizona. D.J. Carrasco  (3-2) got the win after an early exit by starter Ian Kennedy .

In Pittsburgh, Albert Pujols  hit his 40th and 41st home runs and Matt Holliday  reached the 100-RBI mark, leading the slumping St. Louis Cardinals over the Pittsburgh Pirates.

The Cardinals snapped a three-game losing streak and won for just the 13th time in 38 games since Aug. 14, the last day they were in first place in the NL Central.

St. Louis' chances of defending its division title remain slim. The Cardinals trail idle Cincinnati by 7 1/2 games with only 10 games left.

Pittsburgh had its season-high five-game winning streak come to an end. The Pirates are one defeat short of their first 100-loss season since 2001.

Jeff Suppan  (2-7) won for just the second time in 13 starts this season. Brian Burres  (3-4) was tagged for four runs and six hits in 2 1-3 innings.

In Washington, Michael Morse  homered, doubled and drove in three runs, Roger Bernadina  and Danny Espinosa  hit two-run homers and Ross Detwiler  earned his first win in nearly a year as the Washington Nationals beat the Houston Astros.

It was the third consecutive win for Washington, and the first time they'd won three straight at home since July 29-31.

Houston has lost three in a row for the first time since early August.

Detwiler (1-2) pitched six innings, allowing two runs. It was his first win since Sept. 28, 2009. He missed much of the season after right hip surgery in February.

Nelson Figueroa  (5-4) took the loss.

In Milwaukee, Corey Hart  hit one of three Milwaukee homers, helping Yovani Gallardo  and the Brewers beat the Florida Marlins.

Hart reached 30 homers for the first time in his career with his first-inning drive. Rickie Weeks  and Prince Fielder  hit consecutive shots in the seventh on the first three pitches of Sandy Rosario's  major league debut.

Gallardo (14-7) improved to 3-0 with a 1.95 ERA in four September starts. Anibal Sanchez  (12-11) took the loss.

Florida rookie Logan Morrison  extended his streak of reaching base safely to 42 straight games, tying the best mark in the majors this season.