Figueroa (2-3) threw 117 pitches with two walks and 10 strikeouts. The only run he gave up scored on a first-inning single by Aramis Ramirez. Figueroa added an RBI single in the fourth in his best-ever major league outing.
Closer Francisco Rodriguez earned his 28th save with a scoreless ninth.
Angel Pagan had three hits, while Luis Castillo had two hits for the Mets, who prevented a three-game sweep.
Derek Lee had two of the seven hits for the Cubs, who had won three of four.
Losing pitcher Carlos Zambrano (7-6) yielded four runs and 11 hits in 3 1/3 innings.