Houston shortstop Adam Everett broke a bone in his left wrist as the Astros beat the visiting Montreal Expos, 4-0, on Friday night behind Roy Oswalt's five-hitter.

Everett was hit by a pitch from Claudio Vargas in the fourth inning and broke the ulna bone. Everett, batting .272 with eight homers and 31 RBI, was taken to a hospital for X-rays. Houston said he will be sidelined for at least four weeks and it was unclear whether he would need surgery.

"It's a downer for all the pitchers," Oswalt said. "He's the best defensive player we have. He probably saved five or six runs a week for us."

Oswalt (12-8) struck out eight and walked one in his second shutout of the season, the third of his career. Oswalt, who threw 133 pitches, has won four straight decisions overall, and he improved to 9-0 against Montreal in 13 career starts.

Jeff Bagwell and Jeff Kent drove in two runs each for Houston.

* GIANTS 6, CUBS 2: Jason Schmidt struck out 11 in his NL-leading 14th win, and Michael Tucker hit a three-run homer to lead San Francisco at home.

J.T. Snow hit a two-run homer and Tucker drove in four runs for the Giants, who opened a key three-game series between playoff contenders with just their third win in nine games. The Cubs' four-game winning streak was snapped, and their lead in the NL wild-card race shrank to one over San Diego and two games over the Giants.

* MARLINS 7, BREWERS 6: Paul Lo Duca hit a two-run single off Dan Kolb with none out in the ninth, and host Florida rallied to beat error-plagued Milwaukee.

Kolb's throwing error fueled the comeback, and he blew a save for only the second time in 32 chances this season. He had converted 17 chances in a row.

Milwaukee allowed five unearned runs, including two each on errors by shortstop Craig Counsell and third baseman Wes Helms.time this season.

* CARDINALS 6, METS 4: Albert Pujols's third hit snapped a seventh-inning tie, and Matt Morris followed another shaky outing with a strong one, helping St. Louis win at home.

The Cardinals won for the 14th time in 18 games.

Pujols is 12 for 28 (.429) during a six-game hitting streak with two homers, including a game-winner in the ninth against the Expos on Wednesday. This time, he helped end the Mets' three-game winning streak.

Mike Cameron and Richard Hidalgo hit consecutive solo homers off Kiko Calero in the ninth. Jason Isringhausen got two outs for his 29th save in 34 chances.

* ROCKIES 8, REDS 5: Todd Helton and Preston Wilson drove in two runs each to help Shawn Estes to his 12th victory as Colorado won at home. The Rockies overcame a four-run deficit to stop a three-game losing streak.

* PADRES 13, PIRATES 1: Mark Loretta homered twice and had a career-high five RBI as host San Diego stopped a four-game losing streak.

* BRAVES 4, DIAMONDBACKS 2: Jaret Wright extended his career-best winning streak to eight games, and Adam LaRoche hit a tie-breaking two-run homer in the sixth to lead Atlanta to the road victory.