The Pittsburgh Pirates wish they had played this well against the St. Louis Cardinals back when they were close enough to see the division leaders in the standings.

Bobby Hill drove in the winning run with a two-out, pinch-hit single in the ninth inning to lead the Pirates over St. Louis, 6-5 yesterday, completing their first three-game sweep of the Cardinals at home in nearly 15 years.

Even with the sweep, the Pirates trail St. Louis by 121/2 games and need a Tampa Bay Devil Rays-like turnaround to make something out of what is fast becoming their 12th consecutive losing season.

"I said it even when [the Pirates lost 21 of 24], this team never gives up," Jack Wilson said. "It's just unfortunate we didn't do it earlier."

Julian Tavarez replaced starter Matt Morris to start the ninth and got the first two hitters, but Wilson and Rob Mackowiak singled -- each had three hits -- and Hill lined a single into right field on a 2-1 pitch to score Wilson.

"We tried to pitch around Hill, not give him anything to hit, but I left a changeup up in the middle of the strike zone and I paid for that," Tavarez said.

Jose Mesa (2-0) blew his first save opportunity in 18 chances but got his second victory of the series, while Tavarez (2-2) took his second loss in three days.

* REDS 2, METS 0: Cory Lidle topped stingy Tom Glavine and shut down visiting New York for the second time in a week.

Adam Dunn homered and Ryan Freel hit an RBI single off Glavine (7-5), whose 2.16 ERA run average is by far the best in the majors.

The Reds snapped a three-game skid behind Lidle (6-5), who has beaten his former team in each of his last two starts. The right-hander gave up three singles in seven shutout innings.

Todd Jones pitched a perfect eighth and Danny Graves completed the combined four-hitter for his 30th save in 37 chances.

* ASTROS 3, CUBS 2: Carlos Beltran homered off LaTroy Hawkins with two outs in the top of the ninth to hand Houston the road victory.

After Roger Clemens's bid for his 11th win was blown by the Astros' bullpen, Beltran won it.

"I was trying to be as stingy as possible and aggressive when I had to," Clemens said. "They left guys on base and we left guys on base and fortunately we were able to pull it out."

Craig Biggio homered twice for Houston, atoning for a costly error the previous day.

Brad Lidge (2-3), who worked out of a bases-loaded jam after the Cubs tied the game in the eighth, got the win by getting the final six outs. Hawkins (1-1) took the loss.

Clemens pitched seven solid innings, allowing five hits and leaving with a 2-1 lead.

Michael Barrett's homer off reliever Dan Miceli to start the bottom of the eighth tied it at 2.

* GIANTS 7, DODGERS 1: In Los Angeles, Barry Bonds hit a three-run homer for his 1,300th career extra-base hit, and Brett Tomko came within two outs of his first major league shutout.

* EXPOS 6, PHILLIES 3: Juan Rivera hit a go-ahead RBI single with two outs in the eighth in Philadelphia, and Montreal overcame Jim Thome's major league-leading 27th homer.

Tony Batista and Brad Wilkerson homered for Montreal.

* BRAVES 9, MARLINS 6: In Atlanta, J.D. Drew homered twice and tied a career high with five RBI, and Sam McConnell (1-0) earned his first major league win in a game delayed by rain for 75 minutes in the second inning.

* BREWERS 5, ROCKIES 4: Ben Sheets struck out eight in seven-plus innings and Junior Spivey homered, helping visiting Milwaukee to its fourth straight victory.