Mike Hampton became the National League's first 21-game winner and Daryle Ward hit a two-run homer last night as the Houston Astros beat visiting Cincinnati, 4-1, and once again tied the Reds for first place in the NL Central.

With three games remaining, the Astros and Reds are both 95-64. In the wild-card race, each is 1 1/2 games ahead of the New York Mets, who stopped a seven-game losing streak by beating Atlanta 9-2.

Houston closes with three games at home against Los Angeles, and Cincinnati, which had its six-game winning streak stopped, ends with three games at Milwaukee.

"We're still in control of our destiny," said Reds shortstop Barry Larkin, whose throwing error led to three unearned runs. "We have to win. It's real simple."

Hampton (21-4), who tied Joe Niekro's 1979 club record for wins, allowed one run and seven hits in eight innings with eight strikeouts. Billy Wagner got his 38th save.

"Taking nothing from Randy Johnson, but if I'm voting for Cy Young I've got to give it to Hampy," teammate Craig Biggio said. "He goes out there and gives us this kind of effort every time."

Pokey Reese, who drove in the Reds' only run with a single in the sixth, was more succinct.

"He was nasty. He was awesome," Reese said. "That's why he's won 21 games."

Houston broke through in the fourth inning after a throwing error by Larkin allowed Jeff Bagwell to reach. Carl Everett doubled and Ken Caminiti drove in the game's first run with an RBI grounder. Ward followed with a homer for a 3-0 lead.

METS 9, BRAVES 2: New York kept insisting it just needed one big hit to break the slump that threatened to ruin its season. Against Greg Maddux, the Mets got a week's worth.

John Olerud's grand slam highlighted a startling seven-run burst in the fourth inning and the Mets stopped a seven-game losing streak. New York, which had a team-record nine hits in the inning, ended the Braves' eight-game winning string and blunted Maddux's bid for a 20th victory.

Al Leiter (12-12) yielded two runs in seven innings and went 2 for 2 at the plate against Maddux for the Mets, who must win at least two of their final four games to have any chance of making the playoffs.

Maddux (19-9) gave up eight straight hits to begin the fourth -- he had never permitted more than six hits in an inning in the majors. He was tagged for a career high-tying eight runs.

For the Mets, Rey Ordonez tied Cal Ripken's major league record for shortstops by playing his 95th straight game without an error and Matt Franco set a big league season record by drawing his 19th walk as a pinch hitter. Also, Rickey Henderson got his 2,812th hit, tying George Sisler for 39th on the career list.

GIANTS 5, DODGERS 1: Livan Hernandez won in September for the first time in his career as San Francisco won the final night game at Candlestick Park. Hernandez (8-12), who worked 7 1/3 innings, was 0-6 in 14 previous September appearances.

Barry Bonds, scheduled for knee surgery Friday, hit his 34th homer as the Giants stopped a season-high five-game losing streak. Kevin Brown (18-9) lost to the Giants for the first time in nine career starts. Brown had been 7-0 with an 0.78 ERA against San Francisco and pitched a no-hitter at Candlestick on June 10, 1997.

Bonds's homer in the first was his 140th at Candlestick, third-most in stadium history behind Willie McCovey (236) and Willie Mays (203).

PHILLIES 5, CUBS 0: Doug Glanville hit a three-run homer, becoming the first Phillies player with 200 hits since Pete Rose in 1979, to lead host Philadelphia. Chicago's Sammy Sosa was 1 for 4 with a single and two strikeouts, leaving him with 62 homers. He fell one behind Mark McGwire, who hit two homers in St. Louis' doubleheader against San Diego.

ROCKIES 4, DIAMONDBACKS 1: Pedro Astacio tied a Colorado record with his 17th victory as the visiting Rockies stopped Arizona's seven-game winning streak. Astacio (17-11) went the distance, allowing eight hits and three walks while striking out seven. He has pitched a team-record 231 innings. Dante Bichette drove in three runs with two home runs and an RBI double.

PIRATES 7-2, BREWERS 5-5: In Milwaukee, Kevin Young hit a three-run homer and Todd Ritchie (15-9) won for the fifth time in six starts as Pittsburgh won the opener of a doubleheader. In the nightcap, Jason Bere won and Bob Wickman notched his club-record 37th save.

EXPOS 5, MARLINS 3: Vladimir Guerrero drove in the go-ahead run in the eighth for host Montreal. The final game of the season at Olympic Stadium drew 11,689, leaving Montreal's home attendance at 773,277, the second-lowest in the team's 31-year history.