Steve Carlton allowed three singles in seven shutout innings last night for his first victory since June 1 as the San Francisco Giants beat the Pirates, 9-0, in Pittsburgh.

Carlton (5-10) threw 111 pitches, winning his 319th game and his first in four starts since joining the Giants July 4.

"It was his best outing," said Giants Manager Roger Craig. "His velocity was more consistent than it has been."

Bob Brenly drove in four runs with two doubles. In the first inning, Rob Thompson singled, Joel Youngblood walked and Chris Brown singled to load the bases. Candy Maldonado's single put San Francisco up, 1-0, and Brenly followed with a three-run hit against Larry McWilliams (2-6).

Jose Uribe led off the fourth with his third homer, making it 6-0.

Frank Williams pitched the eighth for San Francisco, Juan Berenguer the ninth.

Reds 7, Expos 6: Bob Sebra gave Bo Diaz a two-out bases-loaded walk in the ninth as Cincinnati won at home.

Diaz, who had four RBI, put the Reds ahead, 6-5, in the eighth with his fifth homer, but Montreal tied it on Mitch Webster's single.

After Sebra (1-1) retired the first two Reds in the ninth, he hit Pete Rose with a pitch and yielded a double to Dave Parker. Eric Davis was intentionally walked, bringing on Diaz.

Ron Robinson (8-1) won, giving up four hits and a run in two innings.

Parker hit his 23rd homer -- his seventh in 11 games -- in the sixth. Tim Raines hit his eighth homer the preceding inning.

Braves 4-8, Mets 3-5: In Atlanta, Ted Simmons' ninth-inning sacrifice fly ended New York's three-game winning streak in the first game, and Glenn Hubbard drove in four runs for the sweep.

In game one, Simmons' one-out liner to right scored Ken Griffey, who began the inning with a double off Roger McDowell (8-5) and advanced to third on Ozzie Virgil's infield single. Kevin Mitchell leaped to catch Simmons' drive, but his throw to catcher Gary Carter was late. Paul Assenmacher (4-2) won in relief.

Atlanta rallied from a 3-0 deficit in the second game to end the seven-game winning streak of Sid Fernandez (12-3). Ken Oberkfell had an RBI single in the fifth before Hubbard's three-run double down the left field line put the Braves ahead, 4-3.

Cubs 9, Dodgers 4: Shawon Dunston drove in four runs with a homer, double and single, and pitcher Dennis Eckersley had a game-winning two-run double to lead Chicago at home.

Eckersley (4-6), a .163 hitter, gave Chicago a 2-1 lead in the second with his hit to right and scored on a wild pitch by Rick Honeycutt (6-6).

The Cubs made it 7-1 with a four-run third, as Manny Trillo and Dunston hit two-run doubles. Dunston hit a two-run homer to left, his 11th, for a 9-1 lead.

Phillies 3, Astros 2: Former reliever Don Carman continued his effectiveness as a starter, allowing two runs in six innings as Philadelphia won at home.

Carman (5-2), making his third straight start after relieving in his first 119 major league games, lowered his ERA as a starter to 1.06.

Dan Schatzeder retired pinch-hitter Denny Walling on a grounder for his second save after Kevin Bass had doubled off Tom Hume to start the ninth.

Against Mark Knudson (1-4), the Phillies scored in the first on Juan Samuel's RBI groundout and in the second on Von Hayes' eighth homer. The Phillies never trailed.

Cardinals 4, Padres 2: Curt Ford doubled to key a three-run first, and rookie left-hander Greg Mathews held visiting San Diego to two runs in 6 1/3 innings as St. Louis won its fifth straight game.

Mathews (6-2) gave way to Ricky Horton, who got his second save, as the Padres lost for the seventh time in eight games.

Vince Coleman singled to start the game, then stole bases on successive pitches by LaMarr Hoyt (5-6), who yielded four hits in six innings but walked six.

Tommy Herr's groundout scored Coleman, and Ford and Terry Pendleton followed with RBI hits.