Nick Castellanos hit a three-run homer in the first inning and the visiting Philadelphia Phillies ultimately edged the St. Louis Cardinals 5-4 on Friday.
J.T. Realmuto went 2-for-4 with a run and an RBI for the Phillies (80-67), who snapped a two-game losing streak.
Phillies starter Aaron Nola allowed three runs (two earned) on seven hits in 4 2/3 innings. He walked one and struck out one.
Matt Strahm (9-4) retired one batter to earn the victory and Jose Alvarado notched his eighth save.
Philadelphia first baseman Bryce Harper was ejected in the third inning for protesting a called third strike by plate umpire Alex Tosi.
Zack Thompson (5-6) took the loss after allowing four runs on five hits in five innings for the Cardinals (65-82). He struck out four and walked two.
The Phillies took a 4-0 lead in the first inning. Trea Turner hit a single, went to third base on Alec Bohm’s single and scored on Harper’s forceout grounder.
Realmuto followed with a single before Castellanos hit his three-run homer.
The Cardinals cut their deficit to 4-2 in the third inning. Lars Nootbaar drew a one-out walk and moved up on Paul Goldschmidt’s infield single. Alec Burleson hit an RBI single, then Goldschmidt and Burleson executed a double steal to set up Nolan Arenado’s RBI single.
St. Louis cut Philadelphia’s lead to 4-3 in the fourth inning. Jordan Walker hit an infield single, moved to third when Tommy Edman reached on a throwing error by Nola, then scored on Masyn Winn’s sacrifice fly.
Arenado and Willson Contreras hit two-out singles in the fifth inning, but Strahm relieved Nola and struck out pinch hitter Tyler O’Neill.
The Phillies pushed their lead to 5-3 in the sixth inning. Edmundo Sosa hit a double and scored on Realmuto’s single.
Philadelphia’s Craig Kimbrel walked Winn, Nootbaar and Goldschmidt with two outs in in the eighth inning, but he struck out Burleson to escape.
Arenado drew a leadoff walk off Alvarado in the ninth inning, and Contreras hit a single. Edman hit a two-out RBI single and Winn walked to load the bases, but Nootbaar struck out to end the game.