Nick Punto was productive subbing for injured shortstop Hanley Ramirez and the Dodgers got an RBI apiece from Andre Ethier and A.J. Ellis while matching the Cincinnati Reds' 15-game run in 1957. They're two wins shy of the NL record set by the 1916 New York Giants.
Greinke (9-3) allowed two runs in 6 1-3 innings for his 100th career victory, allowing two hits in the third, fourth and fifth but no runs. Paco Rodriguez earned his second career save with a perfect ninth.
Punto doubled with two outs in the seventh ahead of Greinke's single that gave the Dodgers a 3-1 lead. His relay to the plate preserved a one-run lead in the fifth and denied David Freese of an RBI double, and he made nice defensive plays to end the seventh and eighth.
Running shoe-top catches by Puig in right field and Ethier in center helped Greinke strand three Cardinals in a scoreless third. St. Louis came up empty again in the fourth after opening with singles by Jon Jay and Tony Cruz, and Punto's relay in the fifth caught Allen Craig at the plate on Freese's double to right.
The first three Dodgers reached in the fourth, with Adrian Gonzalez stopping at third on Puig's double off the right-field wall and then scoring on Ethier's broken-bat single. Puig scored the go-ahead run when Ellis beat the relay on a potential double-play ball.
Wainwright had retired eight in a row before Punto doubled to the opposite-field in left with two outs in the seventh and Greinke lofted a single that made it 3-1.
NOTES: Major league ERA leader Clayton Kershaw (10-6, 1.87) faces Cardinals fifth starter Joe Kelly (2-3, 3.10) on Tuesday. Kershaw was the NL pitcher of the month in July going 4-1 with a 1.34 ERA, while Kelly has thrown 14 2-3 consecutive scoreless innings for the Cardinals in a bid to become more than just an occasional fifth starter. ... The Dodgers are 8-1 in Greinke's last nine starts.
Link to box score: Los Angeles 3 at St. Louis 2
Link to game discussion at The Cardinal Nation message board