ST. LOUIS -- All Adam Wainwright's balky elbow needed was a little rest.
The St. Louis starter tossed eight strong innings, and Matt Holliday broke an eighth-inning tie with a run-scoring double to lead the Cardinals to a 4-1 win over Philadelphia that snapped the Phillies' season-high five-game winning streak on Saturday.
Wainwright (10-3) allowed one run and six hits, struck out seven and didn't walk a batter for the Cardinals, who broke a three-game losing streak. He pitched on 10 days' rest after missing a start due to elbow tendinitis.
"That was the right decision," Wainwright said of skipping an outing. "I felt real good all game. Sometimes you never know how you're going to respond when you haven't thrown very much. But I was fine.
"The only time I even felt anything in my arm at all was my first swing where Cole Hamels jammed me and I grounded to third."
Wainwright needed to be on his game to beat Hamels in a matchup of heavyweight arms.
"It was a pitchers' duel as advertised," Philadelphia manager Ryne Sandberg said. "Both guys were outstanding."
Wainwright was slightly better. He never let a runner get beyond second base except in the third when the Phillies scored their only run. Wainwright, who lowered his ERA to 2.08, threw 104 pitches, 68 for strikes.
"All of his pitches were sinking, and he mixed them up well," Philadelphia catcher Carlos Ruiz said.
St. Louis manager Mike Matheny was impressed with Wainwright's command following the layoff.
"It's just amazing how sharp he was," he said. "It looked like the Adam we've watched all season."
Trevor Rosenthal backed up Wainwright by striking out two in the ninth to earn his 21st save in 24 attempts.
Hamels (2-4) gave up three runs and seven hits over 7 1/3 innings. He had a scoreless streak of 24 2/3 innings snapped on Matt Adams' second-inning sacrifice fly.
Hamels refused to speak with reporters after the game.
Holliday ripped a one-out double to bring in Matt Carpenter and break the 1-1 tie. Carpenter coaxed a leadoff walk to begin the eighth.
"At that point in the game, you're looking at having a chance to win if you can scratch across one run," Holliday said. "Luckily, (Hamels) left it up a little and I put a good swing on it."
St. Louis added two more runs in the eighth to go up 4-1. Jhonny Peralta brought in Holliday with an infield ground out, and Adams followed with his second sacrifice fly of the game.
"We grinded it out," Matheny said. "We're getting good at those close games by just staying the course."
Philadelphia had tied it 1-1 in the third inning on successive singles by Cody Asche and Hamels, and a sacrifice fly by Jimmy Rollins. Asche, who grew up in nearby O'Fallon, Missouri, recorded his first hit at Busch Stadium.
Rollins extended his hitting streak to 15 games with a single in the eighth inning.
After the game, the Cardinals placed INF Kolten Wong on the 15-day disabled list due to a sore shoulder. Shane Robinson will be recalled from Triple-A Memphis in time for Sunday game. ... The game-time temperature was a season-high 92 degrees. ... Philadelphia's Kyle Kendrick (3-6, 3.97) will face St. Louis' Carlos Martinez (0-3, 4.19) in the series finale on Sunday. Martinez is replacing RHP Michael Wacha, who is being given extra rest. ... The Phillies didn't commit an error in the first six games of their current seven-game trip . ... St. Louis C Yadier Molina batted in the cleanup spot for the first time since June 20, 2013.