David Wells pitched a two-hitter and Tony Fernandez had a sacrifice fly as the Toronto Blue Jays beat the Expos, 1-0, yesterday in Montreal.

Wells (9-6) allowed a double to James Mouton in the first and a single to Shane Andrews in the eighth in his second complete game of the season and 31st of his career. He struck out seven and walked one.

"It was just a good day," said Wells, who pitched a perfect game last season for the New York Yankees. "I had all my pitches working. I hit the spots."

Wells retired 17 straight batters following Mouton's double before third baseman Fernandez misplayed Mouton's grounder with two outs in the sixth.

"Wells controlled the game," Montreal Manager Felipe Alou said. "He took a game with 18 people playing and dominated. He had no-hit, no-run stuff. I don't know if he had better stuff during his perfect game, but if he did, I wish I would have seen it."

DODGERS 14, MARINERS 3: Trenidad Hubbard had a career-high five RBI in Los Angeles' fight-marred victory over visiting Seattle. Eric Karros and Angel Pena hit two-run homers for the Dodgers, who scored their most runs this season in completing a three-game sweep. Seattle's Ken Griffey Jr. hit his 29th homer.

Karros's homer came off Frankie Rodriguez after the right-hander triggered a 15-minute brawl with a brushback pitch at Mark Grudzielanek. That came after Hubbard increased the lead to 12-3 with a three-run double.

"That whole thing was just frustration talking -- their side, our side, it just bubbled over," Hubbard said of the melee, which resulted in seven ejections and a separated shoulder for Seattle third baseman Charles Gipson.

DIAMONDBACKS 7, ATHLETICS 4: Jay Bell hit his fifth career grand slam, earning a fan $1 million, as Arizona overcame a three-run deficit to beat visiting Oakland. Matt Williams hit a two-run homer for Arizona, and David Dellucci was 2 for 3 with two doubles and an RBI.

Bell's slam, on a full count with two outs in the sixth inning off Jimmy Haynes (6-7), broke a 3-3 tie. It was his 24th homer this season.

Gylene Hoyle, of Chandler, Ariz., won $1 million in a Diamondbacks contest by picking the player who would hit a grand slam and the inning he would do it. She was attending her first Diamondbacks game after winning tickets in a radio station contest.

BRAVES 8, RED SOX 1: Greg Maddux won his fourth straight decision and Ryan Klesko homered twice, leading Atlanta over host Boston. Maddux (10-5) allowed one run and six hits in eight innings, struck out two and walked one. In his past five starts, he has allowed three earned runs in 35 2/3 innings (0.76 ERA), dropping his season ERA from 4.64 to 3.40.

"It was my first experience with him," said Lou Merloni, who went 0 for 4 with a strikeout and double-play grounder. "You can see why he's so tough. He makes you chase pitches he wants you to hit."

ROCKIES 8, ANGELS 2: Vinny Castilla hit a three-run double in a seven-run first inning that carried Colorado past visiting Anaheim, stopping a three-game losing streak. Kurt Abbott had three hits and two RBI for the Rockies, who ended Anaheim's four-game winning streak and beat the Angels for the first time in six meetings.

Larry Walker went 2 for 4, raising his major league-leading average to .382 at the all-star break.

The Rockies sent 12 men to the plate in the first. They tied a team record with eight hits and led 4-0 before Mike Fyhrie (0-1) got an out.

CARDINALS 5, GIANTS 4: Kent Bottenfield (14-3) pitched six innings to become the NL's first 14-game winner as St. Louis won in San Francisco to avoid a three-game sweep. Twelve of Bottenfield's wins have come after a St. Louis loss. J.D. Drew's two-run homer began the scoring in a five-run first inning. Fernando Tatis and Edgar Renteria added RBI doubles and Darren Bragg had an RBI single in the inning.

The Giants retired uniform No. 30 to honor Orlando Cepeda, who will be inducted into the Hall of Fame this summer. He is the ninth Giants player to have his number retired.

ASTROS 7, ROYALS 3: Jose Lima got his 13th win as Houston completed a three-game sweep in Kansas City, Mo., in Matt Galante's final game as interim manager. Houston was 13-14 under Galante, the team's bench coach. He took over after Larry Dierker collapsed in the dugout from a seizure on June 13. Dierker, who had surgery to repair abnormal blood vessels in his brain, will return Thursday after the all-star break.

Pinch hitter Carl Everett hit a two-run double in a five-run eighth inning for Houston.

YANKEES 6, METS 3: Hideki Irabu (6-3) pitched seven effective innings and the Yankees averted a Subway Series sweep with a win before 53,869, the Mets' largest crowd at Shea Stadium since 1972. The Yankees denied Orel Hershiser (9-6) his 200th career victory.

Ricky Ledee hit a three-run homer and his replacement, Chad Curtis, had a two-run single as the Yankees stopped a three-game losing streak to the Mets and finished 3-3 against them this season.

REDS 9, INDIANS 4: Eddie Taubensee and Mike Cameron hit two-run homers in the eighth inning off Paul Shuey as Cincinnati rallied in Cleveland. One day after the Indians came back from five runs down to win, the Reds fought back from a 4-0 deficit to take the rubber match in the three-game series.

Manny Ramirez drove in two runs to lift his RBI total to 96, the third-highest total at the all-star break in history. Hank Greenberg (103 in 1935) and Juan Gonzalez (101 in '98) had more.

PIRATES 10, TWINS 2: Todd Ritchie pitched seven strong innings against his former team, and Warren Morris had a career-high four hits and four RBI as Pittsburgh won in Minneapolis.

Kevin Young had three doubles and every starter had a hit for Pittsburgh, which tied a season high with 17 hits and snapped a three-game losing streak. Al Martin extended his hitting streak to a career-high 20 games with an infield single in the second.

BREWERS 3, TIGERS 2: Hideo Nomo, facing Detroit for the first time, had a strong outing and Geoff Jenkins hit a two-run homer to lead visiting Milwaukee.

Nomo (7-2), who had been cut by the Mets and Cubs before the Brewers signed him April 29, allowed both runs and eight hits in 6 2/3 innings, lowering his ERA to 3.95. He struck out six and walked two.

PADRES 6, RANGERS 2: Pinch hitter Phil Nevin broke an eighth-inning tie with a two-run single and San Diego beat visiting Texas. Nevin's two-hopper up the middle off Mike Venafro came with one out and the bases loaded. Wally Joyner, Carlos Baerga and rookie Ben Davis followed with RBI singles. Texas got four hits -- three singles by Royce Clayton and Rafael Palmeiro's homer leading off the ninth.

CUBS 6, WHITE SOX 3: Steve Trachsel (3-12) won for the first time in nearly two months as the Cubs won to take two of three games from their Chicago rivals at Comiskey Park. Glenallen Hill homered for a second straight game, a three-run shot, and Tyler Houston had a solo shot as the Cubs won for the ninth time in 30 games.

MARLINS 3, DEVIL RAYS 2: Alex Fernandez pitched six scoreless innings for his 100th career victory, leading Florida over visiting Tampa Bay. Mark Kotsay hit a two-run homer for the Marlins, 5-1 against their state rival this year.

CAPTION: Orel Hershiser makes nice throw to first to get sacrificing Derek Jeter, but throws to plate didn't fare as well; he allowed 10 hits, 6 runs in 4 innings.