Kevin Millwood took a perfect game into the seventh inning before Craig Biggio singled, and the Atlanta Braves beat the Astros, 8-5, last night in Houston.

Millwood (7-4) took a no-hitter into the seventh for the second time in three starts. On June 6, Boston's John Valentin broke up the bid with a leadoff single in the seventh at Fenway Park.

Millwood struck out seven of his first nine batters. In all, he allowed two hits -- the other was a single to Bill Spiers -- in seven innings with a season-high 11 strikeouts and one walk.

"I thought I did have no-hit stuff," Millwood said. "I thought that after the first inning. I felt that if I could keep up the tempo that I had a chance."

He gave up an RBI groundout to Carl Everett and threw a run-scoring wild pitch.

Millwood also drove in a pair of runs, going 1 for 2 at the plate. Javy Lopez was 4 for 5 for the Braves.

"He was locked in and not listening to anybody," Lopez said. "I've never seen him like this. That's the best seven innings I've ever seen pitched."

Houston, which has lost three straight after a win in the series opener, is 1-3 since bench coach Matt Galante took over as interim manager in place of Larry Dierker, who had brain surgery.

REDS 2, BREWERS 0: Pete Harnisch threw a night's worth of pitches in five innings but held visiting Milwaukee to three hits.

Ken Griffey Sr. managed the Reds while Jack McKeon was out of town to be with his wife, who had breast cancer surgery. McKeon is expected back today. Harnisch (6-6) threw 106 pitches, including 70 strikes, but stranded seven runners. He struck out six and walked four.

PHILLIES 7, PADRES 5: In San Diego, Paul Byrd won his 10th game and Bobby Abreu led a 12-hit attack by going 3 for 5 with two RBI.

The Padres' Tony Gwynn had his first two-hit game since May 4 at Philadelphia and is 20 hits short of 3,000. Gwynn had been 9 for 46 (.196) in his last 15 games. This was his fifth game back since missing 19 games with a strained left calf.

"I felt rusty," Gwynn said. "I swung at some bad pitches and tried to do too much."

METS 4, CARDINALS 3: In St. Louis, Al Leiter won his third straight start and Robin Ventura went 3 for 4 with a home run.

Mike Piazza singled and scored twice to extend his hitting streak to 20 games, the current high in the majors. The Mets have won nine of 11 after an eight-game losing streak, and Piazza is 31 for 83 (.369) during the hot streak.

PIRATES 8, DODGERS 3: In Los Angeles, Chan Ho Park, pitching for the first time in 12 days after a seven-game suspension, gave up two homers to Brant Brown. Park (4-4) was charged with seven runs and 11 hits in 6 1/3 innings. It was his first outing since June 5 at Dodger Stadium, when he got upset after being tagged out by Anaheim's Tim Belcher and kicked the pitcher during the the ensuing brawl.

GIANTS 3, CUBS 2: In San Francisco, Barry Bonds broke out of his slump with a game-winning RBI single in the ninth. Bonds, who had struck out in each of his previous three at-bats, singled off Dan Serafini (1-1) with runners on first and second and one out in the ninth. Bonds, who had left elbow surgery in mid-April and was expected to be out until at least the end of June is 4 for 25 since his return.

CAPTION: Padres' Dave Magadan drives center fielder Doug Glanville up a wall with this double during Phillies' 7-5 win. Paul Byrd won his 10th for Philadelphia.