Zito (9-8) allowed Allen Craig to knock it out of the park twice, though he limited St. Louis to a total of eights and rung up four strikeouts without walking a batter.
St. Louis, which saw its four-game winning streak closed out, had two hits apiece from Jon Jay and Yadier Molina but went 0-for-4 with runners in scoring position.
Lance Lynn (13-5) lost for the first time since June 30. Lynn allowed four runs on eight hits and walked three over six innings.
2014: NFL Cheerleaders [PHOTOS]
Arizona Cardinals player formally charged