The game belonged to the pitchers until the final two innings decided everything. San Diego erased a two-run deficit in the ninth before Manny Machado's sacrifice fly in the 10th lifted the Padres past St. Louis 3-2 in front of 39,795 at Petco Park.
Kyle Leahy dominated for five innings, allowing two hits while striking out five and walking four. The Cardinals starter carried a 4.31 ERA into the game and held San Diego scoreless through his five-inning effort. Walker Buehler matched the intensity for the Padres, surrendering 2 runs over six innings with 2 strikeouts.
Jordan Walker broke the scoreless tie in the fourth inning, launching a 425-foot homer to left that scored Alec Burleson and put St. Louis ahead 2-0. The lead held until the ninth when Nick Castellanos answered with a two-run homer to left center, scoring Xander Bogaerts to tie the game 2-2. Ramon Laureano scored the winning run on Machado's sacrifice fly to right in the 10th.
Gordon Graceffo took the loss after allowing the winning run in just one-third of an inning, walking two batters before surrendering the decisive sacrifice fly. Adrian Morejon earned the win with one-third of an inning of scoreless relief.
San Diego improved to 23-16 after snapping a losing streak. St. Louis fell to 23-16, matching the Padres' record despite the loss. Both teams sit in second place in their respective divisions.