Cardinals 4, Phillies 1: Adam Wainwright pitched eight superb innings of one-run ball in his return to the rotation as host St. Louis halted a three-game losing streak.Matt Adams had a pair of sacrifice flies and Matt Holiday delivered a tiebreaking RBI double in the eighth inning as the Cardinals snapped Philadelphia's string of five straight wins. Wainwright (10-3), who missed his last turn due to irritation in his elbow, struck out seven and allowed six hits to tie Cincinnati's Alfredo Simon for the National League lead in wins.Cole Hamels (2-4) permitted three runs on five hits over 7 1/3 innings to fall to 2-2 over his last nine starts despite going at least seven frames in each. Hamels also had two hits and Jimmy Rollins provided the lone run with a sacrifice flySt. Louis halted Hamel's scoreless streak at 24 2/3 innings when Yadier Molina drew a leadoff walk in the second, moved to third on Jhonny Peralta's double and came across on Adams' sacrifice fly. The Phillies answered in their next at-bat on back-to-back singles by Cody Asche and Hamels and a sacrifice fly by Rollins.It remained 1-1 until the eighth, when Matt Carpenter drew a leadoff walk and scored on Holliday's one-out double to end Hamels' day in favor of Jake Diekman, who hit a batter before more runs came home on a passed ball, Peralta's grounder and Adams' second sacrifice fly. Trevor Rosenthal struck out two in the ninth for his 21st save.GAME NOTEBOOK: Rollins led off the eighth inning with an infield single to extend his hitting streak to 15 games. ... Wainwright's fifth-inning double was the 25th two-bagger of his career, tying him with Dan Haren for second place among active pitchers behind current free agent Randy Wolf (32). ... Hamels came within one out of matching his career-best 25-inning scoreless streak that he set in 2010.