Greg Colbrunn hit for the cycle, including a pair of two-run homers, and scored four times as the Arizona Diamondbacks routed the Padres, 10-3, last night in San Diego.

The defending World Series champion Diamondbacks reduced their magic number to five for clinching their second straight National League West title.

Colbrunn went 5 for 6 to set a career high and tie a club record for hits. He completed the cycle with a triple into the right field corner with one out in the ninth -- going into the game, Colbrunn had only 10 triples in 2,660 career at-bats.

Colbrunn singled and scored in the first, struck out in the third, hit a 406-foot, two-run homer in the fourth, doubled and scored in the sixth, then hit his second two-run homer in the seventh.

* CARDINALS 8, ROCKIES 5: Scott Rolen homered twice, including a tiebreaking two-run drive in the ninth as visiting St. Louis cut its magic number to four. St. Louis had five homers and three doubles. It remains 71/2 games ahead of second-place Houston in the NL Central.

* METS 2, CUBS 1: Mike Piazza hit a two-run homer to back Steve Trachsel's strong pitching. The Mets won their fifth straight at Shea Stadium since snapping an NL record 15-game home losing streak and took a 318-317 lead in the all-time series against Chicago.

"We had a lousy month and now we're having a good month," Mets Manager Bobby Valentine said. "We're playing good baseball. It's important. These are major league games and people are paying major league prices to see it."

* ASTROS 3, BREWERS 1: Brad Lidge had run-scoring hits in his first two major league at-bats and pitched three scoreless innings in Milwaukee.

Lidge, making his first major league start, had an RBI double in the second and a run-scoring single off Glendon Rusch (10-14) that gave the Astros a 3-0 lead in the fourth. But when Lidge returned to the mound, he left because of a strained rib muscle.

Milwaukee's Jose Hernandez struck out twice, moving within one of the season record of 189, set by Bobby Bonds in 1970.

* PHILLIES 6, BRAVES 5: Pinch hitter Jeremy Giambi hit a three-run homer and visiting Philadelphia held off Atlanta. Carlos Silva (5-0) worked two innings in relief of starter Brett Myers, helping the Phillies win for the fifth time in seven games. Jose Mesa worked the ninth for his 41st save in 50 chances.

"Our bullpen's been kind of so-so at times, and at times it's been really good," Philadelphia Manager Larry Bowa said. "Kind of like our team."

* PIRATES 3, REDS 2: Pinch hitter Rob Mackowiak hit a two-run single, capping host Pittsburgh's three-run rally in the eighth. The Pirates overcame homers by Ken Griffey Jr. and Jose Guillen.

* EXPOS 4, MARLINS 2: Vladimir Guerrero singled home the go-ahead run off Oswaldo Mairena (2-3) in the 11th as visiting Montreal (76-76) reached .500 for the first time this late since 1996.

"It hurts to lose any time, but when you go extra, especially when you come back. It's tough," Florida Manager Jeff Torborg said. "Then the guy from another planet hits a bullet to left-center field. Vladimir is some kind of player."

Braves second baseman Keith Lockhart falls over Marlon Anderson in Phillies' 6-5 victory in Atlanta.