The Cubs, who had outscored the Reds 11-1 in the first two games of the series, were seeking their first three-game series sweep in Cincinnati since May 2001.
But Leake (13-6) pitched out of trouble each inning he was on the mound in keeping Chicago off the board.
He ended up allowing four hits and four walks in 5 2/3 innings. He struck out six.
It was the 16th shutout of the year for Cincinnati, the most by a Reds team since 1973.
Chicago's Jeff Samardzija (8-12), who allowed 11 runs and 17 hits in his previous two starts, was roughed up for another eight hits and six runs in 5 2/3 innings. He walked three and struck out five.
Jay Bruce and Zack Cozart both scored on second-inning groundouts to give Cincinnati the lead. Devin Mesoraco connected for his ninth home run of the year in the fourth and Jack Hannahan added a three-run homer as a pinch-hitter in the sixth for the final runs. It was his first homer of the year.