Matt Mieske and Henry Rodriguez both homered Saturday as the Chicago Cubs hung on for a 9-8 win over the Atlanta Braves, who lost their third straight game for the first time this year.

Steve Trachsel (6-1) won his fourth straight decision, giving up four runs on six hits and three walks in six innings.The Braves scored four runs in the ninth inning and had the tying run at second base with one out before reliever Bob Patterson got Ryan Klesko to line into a double play for his first save.

Kevin Millwood (7-2) failed to become the NL's first eight-game winner, giving up six runs on nine hits and two walks in three innings.

REDS 7, DODGERS 3: At Los Angeles, Pete Harnisch pitched seven strong innings and helped fuel two scoring rallies with singles in consecutive at-bats as Cincinnati roughed up Hideo Nomo.

Nomo (2-7) surrendered six runs and seven hits in 32/3 innings in what could be his final appearance for Los Angeles. The right-hander - a central figure in trade rumors the past few days as the Dodgers try to swing a deal with Seattle for five-time All-Star Randy Johnson - has a 5.05 ERA and is 0-4 in his last five starts.

ROCKIES 6, ASTROS 3: At Denver, Larry Walker hit a two-run homer to support John Thomson's solid pitching as Colorado snapped a three-game losing streak.

Thomson (4-5) went 62/3 innings, allowing six hits and three runs, to earn his first win at Coors Field since last Aug. 27 - a span of seven starts.

GIANTS 4, DIAMONDBACKS 1: At San Francisco, Barry Bonds' RBI single brought in the go-ahead run in the sixth inning and Orel Hershiser won his fifth straight game for San Francisco.

Hershiser (5-3), who lost his first three decisions of the season, went six innings, allowing one unearned run and two hits, with six strikeouts and five walks. He has not lost since April 30 against the Braves.

METS 6, PHILLIES 4: At Philadelphia, Al Leiter struck out a season-high 10 batters and Carlos Baerga, Bernard Gilkey and Butch Huskey homered as the New York Mets won their eighth straight.

Leiter (5-3) limited the Phillies to six hits and three runs in seven innings, while walking only two. Leiter, one strikeout short of tying his career high, lowered his major-league leading ERA to 1.74.

PIRATES 8, EXPOS 7: At Pittsburgh, right fielder Vladimir Guerrero threw the ball away on Jason Kendall's bases-loaded single in the ninth, a three-run play that capped the Pirates' comeback.

The Pirates' rally overcame rookie Brad Fullmer's grand slam and five RBIs for Montreal.

BREWERS 12, MARLINS 4: At Milwaukee, it took him 15 attempts, but Cal Eldred finally got his first victory over a National League team.

Milwaukee's No. 1 starter snapped a career-worst six-game losing streak that dated to last season in leading the Brewers to their fourth straight victory.

PADRES 3, CARDINALS 2: At San Diego, Mark McGwire hit his major league-leading 27th homer in the first inning for St. Louis, but Quilvio Veras' RBI single with one out in the ninth lifted San Diego to a victory over the Cardinals.

Veras' single off Jeff Brantley (0-1) scored Carlos Hernandez with the winning run.