Carlos Gonzalez hit a game-ending home run to complete the cycle as Colorado rallied to beat Chicago 6-5 Saturday after blowing a three-run lead in the eighth inning. Gonzalez became the sixth Rockies player to hit for the cycle and the first since Troy Tulowitzki did it last Aug.10, also against the Cubs. Chicago's Derrek Lee hit a tying three-run homer in the eighth off Rafael Betancourt. Melvin Mora, who went 2 for 2 during Colorado's record-setting 13-hit, 12-run eighth inning Friday night, went 4 for 4 Saturday to stretch the streak to six hits in six at-bats. Huston Street (2-2) retired the Cubs in order in the ninth and Gonzalez crushed the first offering from Sean Marshall (6-3). Marlins 6, Padres 3: At San Diego, Ricky Nolasco took a two-hitter into the ninth inning and Dan Uggla hit his 144th home run to become Florida's franchise leader as the Florida Marlins beat the National League West-leading San Diego Padres. The Padres' lead in the division is down to 1 1/2 games over the San Francisco Giants, San Diego's slimmest lead since July 10 when it was one game up on Colorado. With the Marlins leading 6-1, Nolasco (12-7) was two outs from his second complete game of the season and fifth of his career before giving up a two-run single to Adrian Gonzalez. Leo Nunez finished for his 26th save in 31 chances. Kevin Correia (7-7) allowed three runs and four hits in six innings for the Padres. Cardinals 11, Pirates 1: At St. Louis, Albert Pujols hit his 24th homer and finished with three hits as St. Louis routed Pittsburgh. Jeff Suppan (1-6) allowed five hits in 5 1-3 scoreless innings to get his first win since September. He also struck out five in his first victory since Sept. 19 for Milwaukee. Colby Rasmus hit a two-run homer and an RBI single for the Cardinals, who are 11-5 since the All-Star break. It was Rasmus' career-high 17th homer and first since June 27. Jeff Clement homered in the eighth for Pittsburgh. Mets 5, Diamondbacks 4: At New York, Jesus Feliciano tripled and scored on Carlos Beltran's sacrifice fly in the ninth inning, lifting the New York Mets past Arizona. David Wright drove in three runs, including a tying single in the seventh off Arizona newcomer D.J. Carrasco. New York won it against Juan Gutierrez (0-6) to finally beat the last-place Diamondbacks for the first time in five meetings this season. The Mets got a stellar start from Hisanori Takahashi and won for only the sixth time in 20 games. Francisco Rodriguez (4-2) struck out two in a perfect ninth for the win. The rebuilding Diamondbacks, who made a flurry of deals leading up to Saturday's non-waiver deadline, have lost eight of nine. Justin Upton had three RBIs for Arizona and extended his hitting streak to a team-high 16 games. Nationals 7, Phillies 5: At Washington, Ryan Zimmerman hit a three-run homer in the ninth inning to lead Washington past Philadelphia. Zimmerman's one-out drive onto the grass-covered batters eye in center field came on a fastball from Brad Lidge (1-1). Michael Morse led off the ninth with a single, and Adam Kennedy walked before Zimmerman's drive. It was Zimmerman's 18th homer of the season. Drew Storen (3-2) earned the win after facing two batters in the ninth. Astros 6, Brewers 0: At Houston, Wandy Rodriguez added another impressive start to his dazzling streak and Houston's young hitters got off to a fast start in a victory over Milwaukee. Reds 5, Braves 2: At Cincinnati, Ryan Hanigan hit a tiebreaking double during a wacky seventh-inning rally and Cincinnati held on to beat Atlanta. Giants 2, Dodgers 1: At San Francisco, Pat Burrell lined a go-ahead, two-run homer into the left-field seats with two outs in the eighth inning to help San Francisco rally past Los Angeles.