I’d like to correct my previous entry. Elias said that the last forfeited game due to a no-show was in 1918. There have been a slew of forfeited games since 1918 for other reasons.
Here are the ones I came up with before I found the mother lode at—where else?—Retrosheet:
August 10, 1995 @Dodgers 1-Cardinals 2 (Ball day, forfeit trailing 2-1 in ninth)
July 12, 1979, second game, @White Sox 0-Tigers 0 (Disco Demolition night)
September 15, 1977 Orioles 0-@Blue Jays 4, 5th (Earl Weaver pulls O’s off the field after citing hazard in bullpen, a tarp held down by bricks.)
June 4, 1974 @Indians 5-Rangers 5 (Ten-cent beer night, forfeit in ninth tied 5-5).
September 30, 1971 @Senators 7-Yankees 5 (Final Washington game: Two outs in ninth leading 7-5, Senators had to forfeit when fans riot.)
July 18, 1954, second game @Cardinals 1-Phils 8 (For stalling. Cards start stalling in 5th believing that local ordinances prevent lights from being turned on.)
August 21,1949, second game @Phillies 2-Giants 4 (Debris thrown on field due to umpire's call that Richie Ashburn trapped a ball)
September 26, 1942, second game (Last game of season) @Giants 5-Braves 2 (a riot at the Polo Grounds started by young cranks who had been admitted in exchange for scrap metal in a war drive caused the Giants to forfeit in the eighth).
June 6, 1937, second game @Phils 2-Cardinals 8 (Stalling)
August 30, 1913 @Phillies 8-Giants 6 (Waving hats and handkerchiefs in center field bleachers. Game called forfeit by umpire Brennan, riot ensues, fans attack Giants players and umps as they try to board train, and police have to draw revolvers to quiet the crowd. League president Lynch overturns decision following a Phils protest, giving Phils 8-6 win. Upon Giant protest NL directors order game completed October 2, with the Phils winning 8-6)
April 11, 1907 @Giants 0-Phillies 3 (Opening day: Forfeit due to snowballs).
June 9, 1901 @Reds 13-Giants 25 (Riot)
May 13, 1896 @Chicago (NL) 4-Boston (NL) 10, 11th inning (Time Keefe, who umpired after his playing days were over, called this a forfeit after the Beaneaters scored 6 in the top of the 11th and Chicago stalled for the tie.
By the way, Retrosheet has no listing for the last no-show forfeit that Elias cites (September 2, 1918, Indians at Browns, doubleheader). The day was Labor Day (at least it was the first Monday in September) and was the last game of the season, with no games for St. Louis or Cleveland. But Restrosheet has no mention of a forfeit, or dual forfeits, on that day. Neither team's record reflects a forfeit (actually, the Indians did win by forfeit earlier in the season against the A's). Cleveland finished 2.4 games out of the league lead that year.