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.
Couple mistakenly served bag of cash at McDonald's drive-thru
Jordana Brewster on Paul Walker: 'He was an enormous presence in my life'