Edmundo Sosa hit a two-run homer to lift the host Philadelphia Phillies past the St. Louis Cardinals 4-2 on Friday.
Bryce Harper added two hits for the Phillies, who have won two in a row.
In 6 1/3 innings, Phillies starter Aaron Nola (7-2) allowed three hits and two runs with six strikeouts and two walks. Jeff Hoffman struck out two batters in a 1-2-3 ninth inning for his fifth save.
The Phillies became the first team in the majors to reach 40 wins this season.
Brandon Crawford hit a home run and single and Nolan Arenado also went deep for the Cardinals, who had won two straight. Crawford and Arenado accounted for all three of the Cardinals’ hits.
Cardinals starter Miles Mikolas (3-6) gave up five hits and three runs with five strikeouts and one walk in six innings.
Arenado hit a solo home run to left to start off the seventh as St. Louis cut the deficit to 3-2.
Brandon Marsh doubled with one out in the bottom of the inning. After Sosa grounded out to shortstop, Johan Rojas responded with an RBI single to right for a 4-2 lead.
In the ninth, Paul Goldschmidt and Nolan Gorman struck out swinging and Arenado flied out to right.
In the bottom of the second inning, Alec Bohm led off with a single to left, and one out later, Nick Castellanos blooped a double to right to place runners at second and third. Marsh’s groundout made it 1-0. Sosa then crushed a two-run homer to center for a quick 3-0 advantage.
Crawford hit a solo homer to right-center in the third to close the Cardinals within 3-1.
In the fifth, Ivan Herrera hit a scorching line drive, but second baseman Bryson Stott jumped and made a great catch for the second out. Crawford followed with a single and Dylan Carlson walked, but Michael Siani grounded out to Stott to end the threat.
–Field Level Media