Cole (10-7) yielded two runs on seven hits, walking one and striking out six for Pittsburgh, which has already clinched at least a National League wild card spot.
The hurler also supplied a two-run single in the win, which kept the Bucs within two games of National League Central-leading St. Louis with five contests left to play.
Cubs starter Chris Rusin (2-6) was knocked around for four runs on six hits over 2 1/3 innings.
Starling Castro went 2-for-4 with an RBI for Chicago.
Wisconsin business offering 'therapeutic cuddling' forced to close
Exploding whale video goes viral on Internet