The game turned in one swing in the fifth inning. Arizona led by nothing more than a Ketel Marte home run through four innings, and SF had just tied it. Then Gerardo Perdomo doubled to left, and three runs crossed the plate — Nolan Arenado, Marte, and Tommy Troy all scored. That three-run burst was the game's defining moment, and Arizona never surrendered the lead.

The Game Network — Where History Is Kept

Eduardo Rodriguez made it hold. The left-hander worked 7.0 innings, allowing 1 run on 5 hits, walking none and striking out 1 on 91 pitches. He picked up his seventh win against two losses, carrying a 2.21 ERA. Marte opened the scoring in the first with a home run to right, 367 feet, and added another run scored in the fifth. Arenado went 2-for-2 with a walk, drove in 1, scored twice, and added a solo home run to left in the sixth — 397 feet — to push the lead to 5-1.

Perdomo's double in the fifth was the pivotal blow. From a tied game at 1-1, his hit to left brought home Arenado, Marte, and Troy, putting Arizona ahead 4-1. Arenado's sixth-inning homer extended it to 5-1. SF chipped away — Casey Schmitt's sacrifice fly scored Drew Gilbert in the eighth, Heliot Ramos homered to left center in the ninth, and Cavanaugh singled home Bryce Eldridge — but Paul Sewald closed it out for his 19th save despite allowing 2 runs in the ninth.

Tyler Mahle absorbed the loss, his eighth against one win. He lasted 4.1 innings, giving up 4 runs on 4 hits with 3 walks and 3 strikeouts on 85 pitches. His ERA stands at 5.67. SF finished with 9 hits but could not overcome the fifth-inning deficit.

Arizona moved to 41-42, still in the middle of a three-game losing streak entering this contest. SF fell to 35-48 despite having won two straight before Monday.