The game turned on two swings separated by two innings. Philadelphia rallied from a 2-0 deficit to defeat San Diego 3-2, erasing an early hole with timely hitting in the middle innings.
Bryce Harper provided the equalizer with a two-run homer to center field in the fourth inning, driving in Trea Turner to tie the game 2-2. Harper went 1-for-3 with 2 RBI and a walk, extending his season totals to 14 home runs and 36 RBI.
The decisive moment came in the sixth when Harper scored on Alec Bohm's double-play grounder. The shortstop-to-second-to-first twin killing eliminated Brandon Marsh at second base but brought Harper home with what proved to be the winning run.
San Diego had seized control early when Gavin Sheets launched a two-run homer to right field in the third inning, scoring Fernando Tatis Jr. to give the Padres a 2-0 advantage. Sheets finished 1-for-4 with 2 RBI, while Tatis Jr. collected three hits in four at-bats. Randy Vasquez allowed 2 runs on 5 hits over 5 innings for San Diego, while Aaron Nola surrendered 2 runs on 4 hits with 8 strikeouts in his 5-inning start.
Jose Alvarado earned the win with a scoreless seventh inning, improving to 2-1. Jeremiah Estrada took the loss after allowing the sixth-inning run, falling to 2-2. Jhoan Duran recorded his 13th save with a perfect ninth inning. Philadelphia improved to 30-29, while San Diego fell to 32-26. Fernando Tatis Jr. sits two runs away from 500 career runs scored.