David Bell hit for the cycle and drove in a career-high six runs, powering the Philadelphia Phillies to a 14-6 victory over the visiting Montreal Expos last night.

Bell doubled in the second, homered in the fourth, singled in the sixth and hit a controversial triple in the seventh inning to complete the feat also accomplished by his grandfather, Gus Bell, who hit for the cycle for Pittsburgh on June 4, 1951.

Bell drove a 2-2 pitch off Rocky Biddle to left-center that appeared to deflect off the outreached hands of a fan in the first row. The ball caromed toward center field and away from Montreal's Brad Wilkerson.

Bell easily strolled into third base to a standing ovation from the crowd. But Wilkerson and Montreal Manager Frank Robinson protested the call for several minutes. The umpires convened and allowed the three-base hit to stand.

It was his first triple of the season and the first since joining the Phillies before last year.

Bell was the second major league player to hit for the cycle this season. Milwaukee's Chad Moeller did it on April 27.

* PIRATES 2, CARDINALS 1: Jack Wilson turned an apparent double in the bottom of the ninth into the game-winning run and Pittsburgh rallied at home.

Wilson hit a drive down the left field line for his NL-leading 104th hit with one out in the ninth against reliever Julian Tavarez (2-1) and, after realizing no one was covering second, kept running on the play.

First baseman Albert Pujols moved over to cut off the throw and appeared to have time to get Wilson at third. But his throw sailed wide of the bag and out of play, sending Wilson home.

Jose Mesa (1-0) got the victory with a scoreless ninth after starters Jeff Suppan and Kris Benson of Pittsburgh each allowed one run over eight innings. Suppan didn't allow a hit until Craig Wilson's opposite-field double with two outs in the seventh, just ahead of Jason Bay's tying RBI double.

The Pirates haven't had a no-hitter pitched against them since the Cardinals' Bob Gibson beat them, 11-0, on Aug. 14, 1971.

* BRAVES 6, MARLINS 1: John Thomson (6-6) won for the first time in nearly a month and J.D. Drew homered to help host Atlanta win a game delayed almost 31/2 hours by rain.

It started shortly before 11 p.m., and only about 5,000 fans were left to watch the Braves beat the Marlins for the fourth straight time at Turner Field in a game that ended at 1:24 a.m.

* PADRES 10, DIAMONDBACKS 5: In Phoenix, Brian Giles and Humberto Quintero homered to help David Wells (3-5) win for the first time in almost two months.

Mark Loretta had four of San Diego's season high-tying 17 hits, and the Padres sent Arizona to its franchise-record 10th straight loss -- longest in the majors this season.