my-server
← Wiki

2026 San Francisco Giants season

The 2026 San Francisco Giants season is the 144th season for the franchise in Major League Baseball, their 69th year in San Francisco, and their 27th at Oracle Park.

On October 22, 2025, the Giants hired Tony Vitello as their new manager, marking the first time a big league team has hired a manager directly from a college program without any experience as a professional coach.

Events

Offseason

2025

2026

  • January 5, 2026 − OF Joey Wiemer was claimed off waivers by the Washington Nationals.
  • January 5, 2026 − The Giants signed RHP Tyler Mahle to a one-year contract. OF Justin Dean was designated for assingment.
  • January 7, 2026 − OF Wade Meckler was claimed off waivers by the Los Angeles Angels.
  • January 13, 2026 − OF Justin Dean was claimed off waivers by the Chicago Cubs.
  • January 22, 2026 − The Giants traded C Carlos Martinez to the Miami Marlins for international bonus pool money.
  • January 29, 2026 − The Giants traded RHP Kai-Wei Teng to the Houston Astros for C Jancel Villarroel and international bonus pool money.
  • January 30, 2026 − The Giants signed OF Harrison Bader to a two-year contract.
  • February 10, 2026 − The Giants signed INF Luis Arráez to a one-year contract.
  • February 13, 2026 − The Giants signed RHP Rowan Wick to a one-year contract with a club option for 2027.
  • February 15, 2026 − The Giants signed OF Will Brennan to a one-year contract.
  • March 21, 2026 − The Giants signed LHP Ryan Borucki to a one-year contract.
  • March 25, 2026 − The Giants selected the contracts of RHP Caleb Kilian and OF Jared Oliva and designated OF Luis Matos for assignment.

Regular season

  • March 30, 2026 − The Giants acquired RHP Dylan Smith from the Tigers in exchange for cash considerations.
  • March 30, 2026 − The Giants traded OF Luis Matos to the Brewers for cash considerations. IF Tyler Fitzgerald was designated for assignment.

Spring training

World Baseball Classic

The 2026 World Baseball Classic (WBC) took place from March 5 to March 17, 2026. The following Giants players participated in the tournament:

In addition, the Giants hosted the United States in a pre-tournament warm-up game on March 3rd.

Oracle Park Exhibition Series

On March 23 and March 24, 2026, the Giants hosted Mexican side Sultanes de Monterrey for a two-game exhibition series at Oracle Park. This marked the first time a Mexican club traveled to the United States to face an MLB club in an MLB ballpark.

Regular season

Opening day lineup

March/April

March 25–28, vs. New York Yankees (rivalry): <small>Giants lost series, 0–3</small>

The Giants kicked off the season with a three-game series against the New York Yankees, beginning with a standalone game on March 25 ― the earliest in Major League Baseball history. Logan Webb made his fifth straight opening-day start, tying Madison Bumgarner for second most in Giants franchise history. He struck out Aaron Judge in the top of the fourth to record his 1,000th career strikeout, but gave up six earned runs, including five in the second inning, in his five innings of work. The Giants failed to score, mustering up only three hits and dropping the game 7–0. Left fielder Heliot Ramos became the first Giants player to start consecutive Opening Day games in left field since Barry Bonds (2006–2007), ending 19 years without a repeat starter at the position.

After an off day, the series resumed on March 27. Once again, the Giants were shut out after only recording one hit the entire afternoon to lose 3–0 from Yankee home runs via Judge and Giancarlo Stanton. This marks the first time in franchise history that they were shut out consecutively to begin the season. Despite putting up nine hits and scoring their first run of the year, the Giants were unceremoniously swept in the finale, falling 3–1. This marks the ninth straight loss and third straight series swept by the Yankees at Oracle Park, dating back to series sweeps in 2019 and 2024. The Giants grounded into four inning-ending double-plays, including at the end. With the loss, the Giants begin the season 0–3 for the first time since 2012.

March 30–April 1, at San Diego Padres: <small>Giants won series, 2–1</small>

Before the start of the series, the Giants made a flurry of moves. They acquired RHP Dylan Smith from the Tigers in exchange for cash considerations, traded Luis Matos to the Brewers for cash considerations and designated IF Tyler Fitzgerald for assignment. In the opener, the Giants recorded their first win of the season and the first career victory for new manager Tony Vitello. Harrison Bader hit the team's first home run of the season in the top of the third, giving the team its first lead of the season, with RBI hits from Casey Schmitt and Jung-hoo Lee providing additional insurance runs. Starting pitcher Landen Roupp tossed six shutout innings, giving up only two hits and recording seven strikeouts, with Ryan Walker recording his first save of the year despite giving up a late two-run home run to Jackson Merill.

In the following game, the Giants racked up 16 hits en route to a 9–3 win, with each member of the starting lineup recording a hit. Willy Adames and Matt Chapman each recorded their first home runs of the season, with the former doing so on the second pitch of the game, along with going 4–5. Webb, who started his second game of the year, struggled through the first three innings, but retired the final 10 batters he faced consecutively to pick up his first win of the year. In the series finale, the Giants were stifled, putting up only four hits and falling to a 7–1 loss. Defensively, the Giants committed two errors that resulted in Padres runs, most notably in the fifth inning when Schmitt failed to catch a Chapman throw at first that extended the Padres' lead to 2–0. Chapman responded by telling Schmitt to "catch the fucking ball" repeatedly during a mound visit. The Giants pulled a run back in the top of the seventh through a Harrison Bader single before the game got away with four Padres runs in the bottom of the eighth off reliever José Buttó.

April 2–5, vs. New York Mets:

Season standings

National League West

National League Wild Card

Record vs. opponents

Game log

Regular season

|- style="background:#fbb;" | 1 || March 25 || Yankees || 0–7 || Fried (1–0) || Webb (0–1) || – || Oracle Park || 40,856 || 0–1 |- style="background:#fbb;" | 2 || March 27 || Yankees || 0–3 || Schlittler (1–0) || Ray (0–1) || Bednar (1) || Oracle Park || 40,273 || 0–2 |- style="background:#fbb;" | 3 || March 28 || Yankees || 1–3 || Bird (1–0) || Mahle (0–1) || Bednar (2) || Oracle Park || 40,634 || 0–3 |- style="background:#bfb;" | 4 || March 30 || @ Padres || 3–1 || Roupp (1–0) || Buehler (0–1) || Walker (1) || Petco Park || 43,611 || 1–3 |- style="background:#bfb;" | 5 || March 31 || @ Padres || 9–3 || Webb (1–1) || Márquez (0–1) || ― || Petco Park || 41,891 || 2–3 |- style="background:#fbb;" | 6 || April 1 || @ Padres || 1–7 || Pivetta (1–1) || Houser (0–1) || Miller (2) || Petco Park || 41,491 || 2–4 |- style="background:#;" | 7 || April 2 || Mets || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 8 || April 3 || Mets || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 9 || April 4 || Mets || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 10 || April 5 || Mets || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 11 || April 6 || Phillies || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 12 || April 7 || Phillies || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 13 || April 8 || Phillies || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 14 || April 10 || @ Orioles || – || (–) || (–) || – || Camden Yards || || – |- style="background:#;" | 15 || April 11 || @ Orioles || – || (–) || (–) || – || Camden Yards || || – |- style="background:#;" | 16 || April 12 || @ Orioles || – || (–) || (–) || – || Camden Yards || || – |- style="background:#;" | 17 || April 14 || @ Reds || – || (–) || (–) || – || Great American Ball Park || || – |- style="background:#;" | 18 || April 15 || @ Reds || – || (–) || (–) || – || Great American Ball Park || || – |- style="background:#;" | 19 || April 16 || @ Reds || – || (–) || (–) || – || Great American Ball Park || || – |- style="background:#;" | 20 || April 17 || @ Nationals || – || (–) || (–) || – || Nationals Park || || – |- style="background:#;" | 21 || April 18 || @ Nationals || – || (–) || (–) || – || Nationals Park || || – |- style="background:#;" | 22 || April 19 || @ Nationals || – || (–) || (–) || – || Nationals Park || || – |- style="background:#;" | 23 || April 21 || Dodgers || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 24 || April 22 || Dodgers || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 25 || April 23 || Dodgers || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 26 || April 24 || Marlins || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 27 || April 25 || Marlins || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 28 || April 26 || Marlins || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 29 || April 28 || @ Phillies || – || (–) || (–) || – || Citizens Bank Park || || – |- style="background:#;" | 30 || April 29 || @ Phillies || – || (–) || (–) || – || Citizens Bank Park || || – |- style="background:#;" | 31 || April 30 || @ Phillies || – || (–) || (–) || – || Citizens Bank Park || || –

|- style="background:#;" | 32 || May 1 || @ Rays || – || (–) || (–) || – || Tropicana Field || || – |- style="background:#;" | 33 || May 2 || @ Rays || – || (–) || (–) || – || Tropicana Field || || – |- style="background:#;" | 34 || May 3 || @ Rays || – || (–) || (–) || – || Tropicana Field || || – |- style="background:#;" | 35 || May 4 || Padres || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 36 || May 5 || Padres || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 37 || May 6 || Padres || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 38 || May 8 || Pirates || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 39 || May 9 || Pirates || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 40 || May 10 || Pirates || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 41 || May 11 || @ Dodgers || – || (–) || (–) || – || Dodger Stadium || || – |- style="background:#;" | 42 || May 12 || @ Dodgers || – || (–) || (–) || – || Dodger Stadium || || – |- style="background:#;" | 43 || May 13 || @ Dodgers || – || (–) || (–) || – || Dodger Stadium || || – |- style="background:#;" | 44 || May 14 || @ Dodgers || – || (–) || (–) || – || Dodger Stadium || || – |- style="background:#;" | 45 || May 15 || @ Athletics || – || (–) || (–) || – || Sutter Health Park || || – |- style="background:#;" | 46 || May 16 || @ Athletics || – || (–) || (–) || – || Sutter Health Park || || – |- style="background:#;" | 47 || May 17 || @ Athletics || – || (–) || (–) || – || Sutter Health Park || || – |- style="background:#;" | 48 || May 18 || @ Diamondbacks || – || (–) || (–) || – || Chase Field || || – |- style="background:#;" | 49 || May 19 || @ Diamondbacks || – || (–) || (–) || – || Chase Field || || – |- style="background:#;" | 50 || May 20 || @ Diamondbacks || – || (–) || (–) || – || Chase Field || || – |- style="background:#;" | 51 || May 22 || White Sox || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 52 || May 23 || White Sox || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 53 || May 24 || White Sox || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 54 || May 25 || Diamondbacks || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 55 || May 26 || Diamondbacks || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 56 || May 27 || Diamondbacks || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 57 || May 29 || @ Rockies || – || (–) || (–) || – || Coors Field || || – |- style="background:#;" | 58 || May 30 || @ Rockies || – || (–) || (–) || – || Coors Field || || – |- style="background:#;" | 59 || May 31 || @ Rockies || – || (–) || (–) || – || Coors Field || || –

|- style="background:#;" | 60 || June 1 || @ Brewers || – || (–) || (–) || – || American Family Field || || – |- style="background:#;" | 61 || June 2 || @ Brewers || – || (–) || (–) || – || American Family Field || || – |- style="background:#;" | 62 || June 3 || @ Brewers || – || (–) || (–) || – || American Family Field || || – |- style="background:#;" | 63 || June 4 || @ Brewers || – || (–) || (–) || – || American Family Field || || – |- style="background:#;" | 64 || June 5 || @ Cubs || – || (–) || (–) || – || Wrigley Field || || – |- style="background:#;" | 65 || June 6 || @ Cubs || – || (–) || (–) || – || Wrigley Field || || – |- style="background:#;" | 66 || June 7 || @ Cubs || – || (–) || (–) || – || Wrigley Field || || – |- style="background:#;" | 67 || June 8 || Nationals || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 68 || June 9 || Nationals || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 69 || June 10 || Nationals || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 70 || June 12 || Cubs || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 71 || June 13 || Cubs || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 72 || June 14 || Cubs || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 73 || June 16 || @ Braves || – || (–) || (–) || – || Truist Park || || – |- style="background:#;" | 74 || June 17 || @ Braves || – || (–) || (–) || – || Truist Park || || – |- style="background:#;" | 75 || June 18 || @ Braves || – || (–) || (–) || – || Truist Park || || – |- style="background:#;" | 76 || June 19 || @ Marlins || – || (–) || (–) || – || LoanDepot Park || || – |- style="background:#;" | 77 || June 20 || @ Marlins || – || (–) || (–) || – || LoanDepot Park || || – |- style="background:#;" | 78 || June 21 || @ Marlins || – || (–) || (–) || – || LoanDepot Park || || – |- style="background:#;" | 79 || June 23 || Athletics || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 80 || June 24 || Athletics || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 81 || June 25 || Athletics || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 82 || June 26 || Braves || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 83 || June 27 || Braves || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 84 || June 28 || Braves || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 85 || June 29 || @ Diamondbacks || – || (–) || (–) || – || Chase Field || || – |- style="background:#;" | 86 || June 30 || @ Diamondbacks || – || (–) || (–) || – || Chase Field || || –

|- style="background:#;" | 87 || July 1 || @ Diamondbacks || – || (–) || (–) || – || Chase Field || || – |- style="background:#;" | 88 || July 3 || @ Rockies || – || (–) || (–) || – || Coors Field || || – |- style="background:#;" | 89 || July 4 || @ Rockies || – || (–) || (–) || – || Coors Field || || – |- style="background:#;" | 90 || July 5 || @ Rockies || – || (–) || (–) || – || Coors Field || || – |- style="background:#;" | 91 || July 6 || Blue Jays || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 92 || July 7 || Blue Jays || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 93 || July 8 || Blue Jays || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 94 || July 9 || Rockies || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 95 || July 10 || Rockies || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 96 || July 11 || Rockies || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 97 || July 12 || Rockies || – || (–) || (–) || – || Oracle Park || || – |-style=background:#bbbfff | – || July 14 || colspan="9"|96th All-Star Game in Philadelphia, PA |- style="background:#;" | 98 || July 17 || @ Mariners || – || (–) || (–) || – || T-Mobile Park || || – |- style="background:#;" | 99 || July 18 || @ Mariners || – || (–) || (–) || – || T-Mobile Park || || – |- style="background:#;" | 100 || July 19 || @ Mariners || – || (–) || (–) || – || T-Mobile Park || || – |- style="background:#;" | 101 || July 20 || @ Royals || – || (–) || (–) || – || Kauffman Stadium || || – |- style="background:#;" | 102 || July 21 || @ Royals || – || (–) || (–) || – || Kauffman Stadium || || – |- style="background:#;" | 103 || July 22 || @ Royals || – || (–) || (–) || – || Kauffman Stadium || || – |- style="background:#;" | 104 || July 24 || Angels || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 105 || July 25 || Angels || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 106 || July 26 || Angels || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 107 || July 27 || Brewers || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 108 || July 28 || Brewers || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 109 || July 29 || Brewers || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 110 || July 30 || @ Padres || – || (–) || (–) || – || Petco Park || || – |- style="background:#;" | 111 || July 31 || @ Padres || – || (–) || (–) || – || Petco Park || || –

|- style="background:#;" | 112 || August 1 || @ Padres || – || (–) || (–) || – || Petco Park || || – |- style="background:#;" | 113 || August 2 || @ Padres || – || (–) || (–) || – || Petco Park || || – |- style="background:#;" | 114 || August 3 || @ Rangers || – || (–) || (–) || – || Globe Life Field || || – |- style="background:#;" | 115 || August 4 || @ Rangers || – || (–) || (–) || – || Globe Life Field || || – |- style="background:#;" | 116 || August 5 || @ Rangers || – || (–) || (–) || – || Globe Life Field || || – |- style="background:#;" | 117 || August 7 || Tigers || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 118 || August 8 || Tigers || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 119 || August 9 || Tigers || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 120 || August 10 || Astros || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 121 || August 11 || Astros || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 122 || August 12 || Astros || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 123 || August 14 || Rockies || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 124 || August 15 || Rockies || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 125 || August 16 || Rockies || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 126 || August 18 || @ Guardians || – || (–) || (–) || – || Progressive Field || || – |- style="background:#;" | 127 || August 19 || @ Guardians || – || (–) || (–) || – || Progressive Field || || – |- style="background:#;" | 128 || August 20 || @ Guardians || – || (–) || (–) || – || Progressive Field || || – |- style="background:#;" | 129 || August 21 || @ Red Sox || – || (–) || (–) || – || Fenway Park || || – |- style="background:#;" | 130 || August 22 || @ Red Sox || – || (–) || (–) || – || Fenway Park || || – |- style="background:#;" | 131 || August 23 || @ Red Sox || – || (–) || (–) || – || Fenway Park || || – |- style="background:#;" | 132 || August 24 || Reds || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 133 || August 25 || Reds || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 134 || August 26 || Reds || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 135 || August 27 || Diamondbacks || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 136 || August 28 || Diamondbacks || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 137 || August 29 || Diamondbacks || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 138 || August 30 || Diamondbacks || – || (–) || (–) || – || Oracle Park || || – |-

|- style="background:#;" | 139 || September 1 || @ Pirates || – || (–) || (–) || – || PNC Park || || – |- style="background:#;" | 140 || September 2 || @ Pirates || – || (–) || (–) || – || PNC Park || || – |- style="background:#;" | 141 || September 3 || @ Pirates || – || (–) || (–) || – || PNC Park || || – |- style="background:#;" | 142 || September 4 || @ Mets || – || (–) || (–) || – || Citi Field || || – |- style="background:#;" | 143 || September 5 || @ Mets || – || (–) || (–) || – || Citi Field || || – |- style="background:#;" | 144 || September 6 || @ Mets || – || (–) || (–) || – || Citi Field || || – |- style="background:#;" | 145 || September 7 || Cardinals || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 146 || September 8 || Cardinals || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 147 || September 9 || Cardinals || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 148 || September 11 || Padres || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 149 || September 12 || Padres || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 150 || September 13 || Padres || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 151 || September 14 || @ Cardinals || – || (–) || (–) || – || Busch Stadium || || – |- style="background:#;" | 152 || September 15 || @ Cardinals || – || (–) || (–) || – || Busch Stadium || || – |- style="background:#;" | 153 || September 16 || @ Cardinals || – || (–) || (–) || – || Busch Stadium || || – |- style="background:#;" | 154 || September 18 || @ Dodgers || – || (–) || (–) || – || Dodger Stadium || || – |- style="background:#;" | 155 || September 19 || @ Dodgers || – || (–) || (–) || – || Dodger Stadium || || – |- style="background:#;" | 156 || September 20 || @ Dodgers || – || (–) || (–) || – || Dodger Stadium || || – |- style="background:#;" | 157 || September 21 || Twins || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 158 || September 22 || Twins || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 159 || September 23 || Twins || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 160 || September 25 || Dodgers || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 161 || September 26 || Dodgers || – || (–) || (–) || – || Oracle Park || || – |- style="background:#;" | 162 || September 27 || Dodgers || – || (–) || (–) || – || Oracle Park || || –

Roster

Farm system

References

External links