Jon Lieber (2-1) threw 4 1/3 innings of scoreless relief to get the win.
Derrek Lee drove in two runs for the Cubs, who needed 36 innings to defeat the Pirates three times. Chicago won the first game of the series in 12 innings and went 15 innings to win the second game.
Lieber allowed five hits in relief of starter Rich Hill, who threw only 34 strikes in 72 pitches.
Pittsburgh's Matt Morris (0-1) took a 3-2 lead into the sixth inning, when he was roughed up for five runs. He was charged with seven runs -- four earned -- on 11 hits.
The Pirates have lost five out of six.
Both Fontenot and Soto hit their home runs in the sixth.
The Cubs have beaten the Pirates six straight times.