Houston's Roger Clemens struck out a season-high 12 to surpass 200 in a season for the 12th time in his career.
The Cubs' Nomar Garciaparra played in his 1,000th game.
The Mets' Kaz Matsui, sidelined since Aug. 8 because of back spasms, struck out as a pinch hitter in the seventh inning.
Jack Wilson is 10 hits shy of becoming the first Pirate since Dave Parker in 1977 to get 200 in a season.
Montreal's Sun Woo Kim pitched 8 2/3 innings -- his longest outing in 26 career starts. Kim's previous longest start was 8 1/3 innings at Cincinnati Sept. 28, 2002.
The Cubs moved more than 20 games over .500 for the first time since Oct. 1, 1989, when they finished 93-69.