Bob Forsch pitched the second no-hitter of his career and the first in the National League in exactly two years, giving the St. Louis Cardinals a 3-0 victory over the Montreal Expos tonight.

The no-hitter provided one highlight in an otherwise forgettable season for Forsch, a 33-year-old right-hander who had failed to get past the sixth inning in his last four starts. The last game he won as a starter was July 28 against Montreal, when he allowed eight hits and one run in a complete game. He had pitched just one shutout this year, a three-hitter against the Expos on May 12.

It was only Forsch's ninth victory this season against 12 losses. He entered the game with an ERA of 4.61.

"I've had a pretty bad season all year," Forsch said, "but at least I salvaged something. To throw one is something, but two is a fantastic thing. This has been a frustrating year for all of us, but I never lost confidence."

The Expos, who were mathematically eliminated from the NL East pennant race this afternoon when Philadelphia beat Chicago, came close to getting a hit only once.

Tim Raines hit a long drive to left-center in the second inning that center fielder Willie McGee caught after a long run. Raines also hit a warning-track fly ball in the seventh that easily was caught by David Green in right field.

In becoming the 20th pitcher this century to work at least two no-hitters, Forsch retired the first five batters before hitting Gary Carter in the left arm in the second, which drew a warning from home plate umpire Harry Wendelstedt. St. Louis second baseman Ken Oberkfell then booted Chris Speier's grounder, allowing Carter to move to third, but Forsch got the first of his six strikeouts to end the inning.

Those were the only two runners to reach base all night.

After that, Forsch retired the final 21 Expos to complete the no-hitter.

In the ninth, Forsch struck out pinch-hitter Terry Crowley, who was ejected by Wendelstedt after arguing a called third strike on a 2-2 count. Then Terry Francona flied out to Green and Manny Trillo made the final out on a grounder to Oberkfell, who moved to third base in the eighth inning.

The crowd of 12,457, the third-smallest of the season in St. Louis' Busch Stadium, cheered loudly all through the ninth and gave Forsch a standing ovation when Trillo was retired.

The last NL no-hitter was Nolan Ryan's record fifth, a 5-0 victory for Houston over Los Angeles on Sept. 26, 1981.

Dave Righetti of the New York Yankees pitched the only other no-hitter in the majors this season when he beat the Boston Red Sox, 4-0, on July 4.

Despite tonight's no-hitter--in which 61 of his 91 pitches were strikes--this is one of the worst seasons in Forsch's 10-year career with St. Louis, during which he is 117-95.

"Bob has really had a tough year," Cardinals Manager Whitey Herzog said. "But he's a professional in every way. For him to go out and do that is just outstandinng."

Coincidentally, Forsch was 11-17 and lost nine straight games in 1978, the year of his previous no-hitter, when he beat Philadelphia, 5-0, on April 16.

Forsch's best season was 1977, when he was 20-7 with a 3.48 ERA.

He also had exceptional years in 1975, when he was 15-10 with a 2.86 ERA, and 1982, when he was 15-9 with a 3.48 ERA and added a three-hit shutout in the Cardinals' NL championship series victory over Atlanta. However, he lost twice in the World Series, in which St. Louis beat Milwaukee in seven games.

Forsch's brother Ken, now with California, pitched a no-hitter on opening day in 1979 for Houston against Atlanta.