Wainwright (19-9) allowed just two hits and a walk while striking out five for the National League Central champion Cards.
The win gave the Cards a 96-65 record, one more win than NL East champion Atlanta in the race for the NL's best mark.
Cubs starter Edwin Jackson (8-18) was roughed up for six runs on eight hits, lasting just 2 2/3 innings.
Anthony Rizzo homered for Chicago.
Wisconsin business offering 'therapeutic cuddling' forced to close
Ukrainian protestors topple Lenin statue [VIDEO]