Roger Clemens became the first 10-game winner in the majors, pitching the Houston Astros to a 3-2 victory last night over the visiting Pittsburgh Pirates.

Clemens (10-2) earned his 320th win, moving within four of Nolan Ryan and Don Sutton for 12th place on the career list. The Rocket allowed two runs -- one earned -- and four hits in seven innings. He also had four strikeouts, giving him 4,200 for his career -- second only to Ryan's 5,714.

"Those first nine wins weren't as easy as they looked to some people," Clemens said. "Tonight wasn't easy, either. It's a long road and sometimes you just try to stay the course."

Morgan Ensberg went 2 for 3 with the go-ahead RBI in the seventh and scored twice. Ensberg's single drove in Eric Bruntlett, moving Houston back into fourth place in the NL Central.

* GIANTS 9, DODGERS 3: A.J. Pierzynski had two run-scoring doubles, Marquis Grissom homered and host San Francisco won its sixth straight, completing a four-game sweep of its arch rival.

The game also featured the second bench-clearing scuffle in two days. The Giants' Michael Tucker and Dodgers closer Eric Gagne were ejected in the eighth inning for nearly starting a brawl after Tucker dived away from a high pitch by the NL Cy Young Award winner.

* ROCKIES 3, BREWERS 0: Mark Sweeney hit a two-run homer to back Aaron Cook, and Colorado earned a rare win in a road series. The Rockies, a major league-worst 10-26 on the road, took two of three from the Brewers. Cook (2-2) won for the first time in four starts, allowing eight hits, all singles, in eight innings. He had been 0-2 in his previous three starts.

Ben Sheets (6-5) struck out 10, reaching double digits for the fourth time this season.

* EXPOS 3, PHILLIES 2: Tony Armas Jr. pitched six scoreless innings to win for the first time in 14 months and Tony Batista hit a two-run homer to lead Montreal at home.

Moments after Jim Thome missed a tying homer on an RBI double high off the wall in the right field corner, left fielder Brad Wilkerson threw out the Phillies slugger -- the potential tying run -- on a close play at the plate to end the eighth.

"That was a great throw," Armas said. "That was the game right there."

* BRAVES 9, MARLINS 4: In Miami, Chipper Jones, J.D. Drew and Nick Green drove in two runs apiece, helping Atlanta avoid its first series sweep of the season.

Drew doubled twice and tripled as Atlanta snapped a three-game losing streak. The Braves roughed up Dontrelle Willis and won for just the second time in eight games.

* CARDINALS 4, CUBS 0: Chris Carpenter threw eight sharp innings and had two hits and an RBI, leading St. Louis at home. The NL Central leader took two of three from its closest competition, and leads the division by three games after a 7-2 homestand.

The Cardinals, who scored all their runs in the fourth with the help of an error by shortstop Rey Ordonez, are 29-8 against the Cubs at Busch Stadium since 2000.

* REDS 6, METS 2: Mike Cameron lost Ken Griffey Jr.'s bases-loaded fly ball in the sun, allowing three runs to score in a five-run seventh inning as Cincinnati rallied in New York. The Reds' Cory Lidle (5-5) pitched eight innings, allowing nine hits and no walks while striking out seven.

Cameron's error foiled a strong start by Tom Glavine, who leads the major leagues with a 2.11 ERA. Glavine took a 2-1 lead into the seventh.