Skip to main content

SF Giants getting swept by Marlins exposed their biggest recurring problem

We've seen this before.
Miami, Florida, USA;  San Francisco Giants center fielder Jung Hoo Lee (51) reacts to flying out against the Miami Marlins during the sixth inning at loanDepot Park. Mandatory Credit: Rhona Wise-Imagn Images
Miami, Florida, USA; San Francisco Giants center fielder Jung Hoo Lee (51) reacts to flying out against the Miami Marlins during the sixth inning at loanDepot Park. Mandatory Credit: Rhona Wise-Imagn Images | Rhona Wise-Imagn Images

This SF Giants squad has struggled in many different areas this season. Building promising momentum hasn't been one of them. Capitalizing on it? Yes, and in a major way. Fresh off a convincing two-win day in Atlanta against one of the best teams in baseball, the Giants once again failed to bring any of that swagger to the state of Florida against a hot Marlins team, suffering their fifth sweep of the season and falling to 31-46.

On paper, a sweep already sounds pretty bad. Once the details of this one have been reviewed and scrutinized, it looks even worse. The Giants arguably had a shot to win all three games, but found three distinct ways to let each of them slip away. From pure carelessness to a vanishing offense to familiar late-inning issues, let's go over the main takeaways from one of the most frustrating series of this frustrating 2026 campaign.

The Giants gave one away (again)

All three games were winnable. However, the second game of the series was almost impossible to lose. Marlins starting pitcher Max Meyer entered the game with a 2.75 ERA and a perfect 7-0 record. The Giants generously offered him his eighth win of the season on a silver platter.

Four errors, four hit batters, and five walks were the main reasons why Meyer didn't get charged with his first loss of the year. Three of those four errors directly contributed to Marlins runs in a game the Giants lost by a total of three runs. Easy math.

Rafael Devers failed to catch a routine bouncing ball in the first inning, and the runner who reached — Otto Lopez — eventually scored on a bases-loaded walk. Eric Haase committed a couple of errors: catcher interference in the second inning and a throwing error in the fourth that eventually led to a run. Finally, Trevor McDonald committed one too, as he couldn't find the bag at first on a feed from Devers with two outs, the bases loaded, and the score tied at one.

With their five total walks and four hit batters, Miami was offered nine free baserunners in a game in which they managed just six total hits off McDonald, Matt Gage, JT Brubaker, and Tristan Beck. The Giants' offense basically prevailed in every category, but somehow the team still lost. The Giants collected 10 hits to the Marlins' six. San Francisco went 5-for-14 with runners in scoring position (.357), while the Marlins went just 2-for-12 (.166). Still, after a couple of hours of baseball, the scoreboard read 6-3 in favor of the home team. Doesn't get much more 2026 Giants than this.

In his first start since officially earning a spot in the rotation, McDonald lasted just three innings — the shortest start of his young career — allowed five runs, three earned, on three hits, issued three walks, and hit three batters. The 25-year-old has now failed to pitch through the third inning in back-to-back games and has allowed nine runs in just 6 and 2/3 innings over his last two starts.

With Adrian Houser now occupying a role in the bullpen, Tyler Mahle set to come back after missing time with an injury, and Carson Whisenhunt having delivered a clean outing in his first start of the season, the Giants are going to need McDonald to perform if they want to avoid another rotation shuffle.

Giants keep wasting productive starts from their starting pitchers

The story of the season for this team has been its glaring inability to put together complete baseball games. Combining quality innings from their starters with solid bullpen work and a reliable offense over all nine innings has felt like mission impossible.

The first example of that recurring problem came in the series opener, with Landen Roupp on the mound. For the first time in over a month, Roupp lasted at least six innings and allowed just two runs in the process. By the time Roupp walked off the mound after the sixth inning, the offense had put up three runs on nine hits. From the seventh to the ninth, they went 0-for-9 and failed to put a runner on base.

Meanwhile, the Marlins took advantage of lefty reliever Sam Hentges by tagging him with two runs in the seventh and taking a lead they would never relinquish.

Even when the opening pitcher on the mound gives the team all it needs to win the game and salvage a series, the end result still isn't there. Logan Webb pitched for eigth innings for the third consecutive time and put together his first complete game since July 2024. Despite allowing just two runs on five hits, he somehow got charged with his fifth loss of the year. The reasons? The offense didn't hold its part and a Webb killer resurfaced.

An offense that ranks second in batting average managed just four hits in 29 at-bats (.138) and put just two runners in scoring position. Meanwhile, Kyle Stowers, who came into the game 3-for-5 with two doubles and a home run against Webb, added a walk and a home run to his resumé against the one-time All-Star. Stowers ended up scoring both of the Marlins' runs. The rest of the lineup went 4-for-25 (.160) with no walks and five strikeouts.

Two favorable matchups on paper — Roupp against their bullpen and Webb against Ryan Gusto and his 7.24 ERA entering the game — turned into two disheartening losses.

Across their bullpen game and the relief innings of the other two games, the Giants posted a .175/.217/.281 slash line with a .497 OPS and managed just three runs in 16 1/3 innings once the opener or starter had left the game.

The lone bright spot in an otherwise bleak series

As has often been the case this season, Casey Schmitt was a bright spot. The 27-year-old went 7-for-12 with two doubles, a home run, and four runs batted in over the three games. By himself, he collected a third of the entire team's total hits (23) and drove in more than half of their total runs (7). After appearing in just 69 games, Schmitt has already established new career highs in hits (82), home runs (16), RBIs (42), and stolen bases (7).

Heliot Ramos has started his rehab assignment in Sacramento and is nearing a return after being on the injured list since May 16 with a quad injury. Once Ramos comes back, Tony Vitello and his coaching staff will need to figure out ways to keep Schmitt involved. Whether it's in the outfield, in the infield, or as the designated hitter, Schmitt needs to play every day.

The problem could be solved by trading Luis Arraez before the deadline — something that feels almost inevitable at this point — and giving the second baseman's job to Schmitt. In four big-league seasons, Schmitt has started 88 games at second base — the most among the six positions he's played.

With all that momentum built during the Atlanta series now out the window, the Giants have their backs against the wall again. They fell to 26-36 against National League teams and 10-14 against National League East teams.

Amid a rollercoaster of a season, the team finds itself at another low point. Though it has shown the ability to bounce back, if it can't start building long-term momentum soon, the outlook for the rest of this season is going to head in a new direction — one that prioritizes youth and development over chasing an elusive postseason berth.

Add us as a preferred source on Google

Loading recommendations... Please wait while we load personalized content recommendations