David Freese can't get out of the way of Los Angeles Dodgers pitcher Ronald Belisario's pitch in the eighth inning at Busch Stadium in St. Louis on August 5, 2013.  Los Angeles won the game 3-2.  UPI/Bill Greenblatt

David Freese can’t get out of the way of Los Angeles Dodgers pitcher Ronald Belisario’s pitch in the eighth inning at Busch Stadium. UPI/Bill Greenblatt

Former Royals pitcher Zach Greinke allowed two runs in 6.1 innings for his 100th career victory, as the Los Angeles Dodgers won their 15th straight road game, with a 3-2 win over Adam Wainwright and the Cardinals on Monday night.

Wainwright has been stuck on 13 wins. Wainwright gave up three runs in seven innings and failed to get his 14th win for the third time. Wainwright gave up RBI singles to Andre Ethier and A.J. Ellis in the fourth, and a bloop single to Greinke in the seventh to score former Cardinal Nick Punto.

Carlos Beltran and Allen Craig had an RBI apiece for the Cardinals, who couldn’t break through against Greinke thanks to some good Dodgers defense. Yasiel Puig and Ethier made great grabs in the outfield for the first two outs, to help Greinke strand the bases loaded for the Cardinals in the third. After opening with singles by Jon Jay and Tony Cruz to start the fourth, the Cardinals came up empty and then Punto’s relay in the fifth caught Allen Craig at the plate on Freese’s double to right.