Vancouver Television Sports← GAME CENTRE
← MLB / AFTER THE WHISTLE

MLB • September 22, 2026

Keaschall, Lee and Jenkins supply the damage as Twins edge Giants 3-2 at Oracle Park

When a game ends with six hits apiece, the difference usually hides in what those hits became. The Minnesota Twins found the only extra-base thump that mattered Tuesday night, beating the San Francisco Giants 3-2 at Oracle Park.

MLB / FINAL
Minnesota Twins3 — 2San Francisco Giants
Minnesota TwinsSan Francisco Giants

An early Giants edge, and two starters doing enough

San Francisco had the first opening on the scoreboard and, for a while, the cleaner offensive profile. Drew Cavanaugh’s sacrifice bunt in the second brought Shay Whitcomb home for a 1-0 lead, with Scott Bandura moving to second. It was not a loud inning, but it fit the Giants’ night: they kept putting people on base, asking Minnesota’s pitchers to keep solving traffic.

Anthony Molina answered that kind of game with a strong six innings. The Giants right-hander allowed four hits, two runs, walked one and struck out six in 85 pitches. That is usually the line that gives a club a chance to control the evening, and for long stretches he did exactly that. Taj Bradley was effective too, even if his route looked busier. Bradley gave the Twins six innings, three hits, one run, three walks and six strikeouts over 104 pitches, surviving the kind of workload that can tilt either way if one more ball finds a gap.

What kept the Giants from turning that early lead into something sturdier was the familiar problem hidden inside their team totals. They drew six walks, added a hit batter, stole two bases and still went into the late innings with only one run. The traffic was real. The payoff was not. Against a staff that eventually issued six walks and needed 169 pitches to finish nine innings, San Francisco left too many openings unused.

The sixth inning turned six equal hits into an uneven scoreboard

The game’s decisive swing started with Ryan Kreidler coming home on Luke Keaschall’s triple to center in the sixth. That erased the Giants’ lead, but the inning did not stop there. Brooks Lee followed with a single to right, scoring Keaschall and pushing Minnesota ahead 2-1. In the span of two batters, the Twins changed the entire shape of the night.

That sequence mattered because Minnesota did not spend the game piling up chances. The Twins drew only one walk, struck out seven times and finished with six runners left on base. But their six hits carried more weight than San Francisco’s six because they produced 11 total bases. Keaschall’s triple and Lee’s run-scoring single created a lead out of a modest amount of offense, and Lee’s 2-for-4 line stood out as the game’s only multi-hit performance.

There is a blunt lesson in that inning. The Giants’ staff was efficient almost everywhere else, allowing only one walk all night, and Molina kept the ballpark quiet for six frames. Yet one extra-base hit and one quick follow-up single were enough to undo the early advantage. In a low-scoring game, the cost of even a short burst can feel outsized, and the sixth was that burst.

Jenkins’ insurance lasted, barely

Minnesota added what became the winning run in the seventh when Walker Jenkins homered to right, measured at 361 feet. It was the Twins’ only home run of the game, and it gave them the small cushion they would need. Jenkins finished 1-for-4 with a run and an RBI, but that one swing separated a tie game from a night in which San Francisco had to keep chasing.

The Giants did make one final push. In the ninth, Jonah Cox grounded into a fielder’s choice to third that brought Brett Harris home, trimming the deficit to 3-2 while Osleivis Basabe advanced to second and Andrew Knizner to third. Minnesota’s last inning was not clean, and that is worth noting. Jeff Hoffman allowed no hits in the frame, but two walks and a run turned a manageable close into a nervy finish.

San Francisco’s frustration is easy to locate in the final line. Six hits, six walks, one hit batter and still only two runs. No Giant recorded an extra-base hit. No Giant had more than one hit. Cox and Cavanaugh each produced an RBI, Whitcomb and Harris scored the runs, and the club created enough traffic to threaten all night, but not enough force to flip the result.

Our take: Minnesota’s damage was sharper, and San Francisco’s margin for waste was too small

This was a game where the scoreboard punishes one team for leaving chances half-finished and rewards the other for making its few hard enough to count twice. Minnesota did not overwhelm anybody. The Twins posted a .219 on-base percentage for the game and managed only one walk. But when they connected, the contact changed innings: Keaschall’s triple reset the game, Lee’s single completed the turn, and Jenkins’ homer protected it.

For the Giants, the place to improve is not mysterious, even if the exact fix is never simple. A lineup that draws six walks and still leaves 15 on base needs more from its at-bats after traffic has already been created. The absence of any doubles, triples or home runs made every rally depend on stringing together several small events, and that is a narrow way to live for nine innings.

For the Twins, the result is positive but not spotless. Their bullpen finished the job, yet the staff’s six walks and 169 total pitches kept San Francisco in reach until the last out. A cleaner finish would make games like this feel less fragile. Still, the broader story belongs to Minnesota’s timely offense and Bradley’s six solid innings. On a night when both teams collected the same number of hits, the Twins made theirs mean more.

Scoring moments

  1. 2nd Inning

    Cavanaugh hit sacrifice bunt to third, Whitcomb scored, Bandura to second.

  2. 6th Inning

    Keaschall tripled to center, Kreidler scored.

  3. 6th Inning

    Lee singled to right, Keaschall scored.

  4. 7th Inning

    Jenkins homered to right (361 feet).

  5. 9th Inning

    Cox grounded into fielder's choice to third, B. Harris scored, Basabe to second, Knizner to third.

Minnesota Twins — Batting
PlayerH-ABABRHRBIHRBBK#PAVGOBPSLG
Luke Keaschall1-4411100014.276.367.386
Brooks Lee2-4402100114.255.302.434
Kody Clemens1-4401000113.236.297.456
Josh Bell0-4400000115.256.318.418
Walker Jenkins1-4411110014.214.295.414
Emmanuel Rodriguez0-2200001112.184.225.447
Royce Lewis0-330000015.226.288.378
Victor Caratini0-3300000112.220.312.313
Ryan Kreidler1-3311000115.217.282.379
Minnesota Twins — Pitching
PlayerIPHRERBBKHRPC-STERAPC
Taj Bradley6.0311360104-673.73104
Kody Funderburk0.120001013-83.7813
Andrew Morris1.000011019-104.2719
A.J. Minter0.21000109-52.479
Jeff Hoffman1.001121024-113.5524
San Francisco Giants — Batting
PlayerH-ABABRHRBIHRBBK#PAVGOBPSLG
Drew Gilbert1-3301000114.238.327.396
Osleivis Basabe0-1100001013.203.270.344
Marcelo Mayer0-000000000.215.277.306
Jonah Cox0-4400101226.272.317.412
Victor Bericoto0-4400001227.242.265.434
Turner Hill0-4400000015.229.325.323
Bo Davidson1-3301001111.286.375.286
Grant McCray0-000000000.147.256.280
Shay Whitcomb1-3311001119.179.209.321
Scott Bandura1-2201000110.190.227.238
Brett Harris0-1110001111.188.316.250
Drew Cavanaugh0-110010009.226.316.270
Andrew Knizner1-110100007.231.306.369
Christian Koss1-330100017.232.274.326
San Francisco Giants — Pitching
PlayerIPHRERBBKHRPC-STERAPC
Anthony Molina6.042216085-573.9785
Duncan Davitt2.021101124-162.8424
Carson Seymour1.00000005-44.855
Minnesota Twins — Team statistics
Batting · Games Played1
Batting · Team Games Played1
Batting · Hit By Pitch0
Batting · Ground Balls0
Batting · Strikeouts7
Batting · Runs Batted In3
Batting · Sacrifice Hit0
Batting · Hits6
Batting · Stolen Bases0
Batting · Walks1
Batting · Catcher Interference0
Batting · Runs3
Batting · Ground Into Double Play1
Batting · Sacrifice Flies0
Batting · At Bats31
Batting · Home Runs1
Batting · Grand Slam Home Runs0
Batting · Runners Left On Base6
Batting · Triples1
Batting · Game Winning RBIs0
Batting · Intentional Walks0
Batting · Doubles0
Batting · Fly Balls0
Batting · Caught Stealing1
Batting · Pitches114
Batting · Games Started0
Batting · Pinch At Bats0
Batting · Pinch Hits0
Batting · Player Rating0.0
Batting · Is Qualified1
Batting · Is Qualified In Steals1
Batting · Total Bases11
Batting · Plate Appearances32
Batting · Projected Home Runs162.0
Batting · Extra Base Hits2
Batting · Runs Created1.6
Batting · Batting Average.194
Batting · Pinch Hit Average.000
Batting · Slugging Percentage.355
Batting · Secondary Average.161
Batting · On Base Percentage.219
Batting · OBP Pct + SLG Pct.574
Batting · Ground To Fly Ball Ratio0.0
Batting · Runs Created Per 27 Outs1.6
Batting · Batter Rating23.5
Batting · At Bats Per Home Run31.0
Batting · Stolen Base Percentage0.00
Batting · Pitches Per Plate Appearance3.56
Batting · Isolated Power.161
Batting · Walk To Strikeout Ratio0.14
Batting · Walks Per Plate Appearance.031
Batting · Secondary Average Minus Batting Average-.032
Batting · Runs Produced6.0
Batting · Runs Ratio1.0
Batting · Patience Ratio0.4
Batting · Balls In Play Average0.2
Batting · MLB Rating74.0
Batting · Offensive Wins Above Replacement0.0
Batting · Wins Above Replacement0.0
Pitching · Games Played1
Pitching · Team Games Played1
Pitching · Saves1
Pitching · Ground Balls6
Pitching · Strikeouts10
Pitching · Sacrifice Flies0
Pitching · Losses0
Pitching · Hits6
Pitching · Earned runs2
Pitching · Batters Hit1
Pitching · Walks6
Pitching · Runs2
Pitching · Stolen Bases2
Pitching · Caught Stealing0
Pitching · Sacrifice Bunts2
Pitching · Save Opportunities1
Pitching · Home Runs0
Pitching · Triples0
Pitching · Finishes0
Pitching · Balks0
Pitching · Intentional Walks0
Pitching · Fly Balls10
Pitching · Batters Faced39
Pitching · Holds3
Pitching · Doubles0
Pitching · Wins1
Pitching · Complete Games0
Pitching · Perfect Games0
Pitching · Wild Pitches1
Pitching · Runs Batted In0
Pitching · Third Innings Pitched27
Pitching · Earned Runs0
Pitching · Shutouts0
Pitching · Pickoff Attempts0
Pitching · Pitches169
Pitching · Run Support0.0
Pitching · Catcher Interference0
Pitching · Pitches As Starter0
Pitching · Games Started1
Pitching · Game Score0.0
Pitching · Quality Starts1
Pitching · Inherited Runners0
Pitching · Inherited Runners Scored0
Pitching · Player Rating0.0
Pitching · At Bats30
Pitching · Total Bases6
Pitching · Is Qualified1
Pitching · Is Qualified1
Pitching · Full Innings9
Pitching · Partial Innings0
Pitching · Blown Saves0
Pitching · Innings pitched9.0
Pitching · Earned Run Average2.00
Pitching · Walks Plus Hits Per Inning Pitched1.33
Pitching · Win Percentage1.000
Pitching · Caught Stealing Percentage0.0
Pitching · Ground To Fly Ball Ratio0.6
Pitching · Pitches Per Start0.0
Pitching · Pitches Per Inning18.8
Pitching · Pitches Per Plate Appearance4.3
Pitching · Run Support Average0.0
Pitching · Opponent Batting Average.200
Pitching · Opponent's Slugging pct..200
Pitching · Opponent's On-base pct..351
Pitching · Opponent's OPB Pct + SLG Pct.551
Pitching · Save Percentage1.0
Pitching · Strikeouts Per 9 Innings10.0
Pitching · Strikeout To Walk Ratio1.7
Pitching · Tough Losses0
Pitching · Cheap Wins0
Pitching · Save Opportunities Per Win1.0
Pitching · Balls In Play Average0.261
Pitching · Total Bases6.000
Pitching · Pitch Count0
Pitching · Strikes101
Pitching · Strike To Pitch Ratio0.0
Pitching · Wins Above Replacement0.0
Fielding · Games Played1
Fielding · Team Games Played1
Fielding · Double Plays0
Fielding · Opportunities0
Fielding · Errors1
Fielding · Passed Balls0
Fielding · Assists9
Fielding · Outfield Assists0
Fielding · Pickoffs0
Fielding · Putouts27
Fielding · Outs On Field0
Fielding · TP0
Fielding · Balls In Zone0
Fielding · Extra Bases0
Fielding · Outs Made0
Fielding · Hits0
Fielding · Total Bases0
Fielding · Games Started0
Fielding · Third Innings Played0.0
Fielding · Caught Stealing0
Fielding · Stolen Bases Allowed0
Fielding · Earned Runs0
Fielding · Qualified1
Fielding · Qualified Catcher1
Fielding · Qualified Pitcher0
Fielding · Successful Chances0
Fielding · Total Chances0
Fielding · Full Innings0
Fielding · Part Innings Played0
Fielding · Fielding Percentage0.000
Fielding · Range Factor0.0
Fielding · Zone Rating0.0
Fielding · Caught Stealing Percentage0.000
Fielding · Earned Run Average0.0
Fielding · Defensive Wins Above Replacement0.0
San Francisco Giants — Team statistics
Batting · Games Played1
Batting · Team Games Played1
Batting · Hit By Pitch1
Batting · Ground Balls0
Batting · Strikeouts10
Batting · Runs Batted In2
Batting · Sacrifice Hit2
Batting · Hits6
Batting · Stolen Bases2
Batting · Walks6
Batting · Catcher Interference0
Batting · Runs2
Batting · Ground Into Double Play0
Batting · Sacrifice Flies0
Batting · At Bats30
Batting · Home Runs0
Batting · Grand Slam Home Runs0
Batting · Runners Left On Base15
Batting · Triples0
Batting · Game Winning RBIs0
Batting · Intentional Walks0
Batting · Doubles0
Batting · Fly Balls0
Batting · Caught Stealing0
Batting · Pitches169
Batting · Games Started0
Batting · Pinch At Bats0
Batting · Pinch Hits0
Batting · Player Rating0.0
Batting · Is Qualified1
Batting · Is Qualified In Steals1
Batting · Total Bases6
Batting · Plate Appearances39
Batting · Projected Home Runs0.0
Batting · Extra Base Hits0
Batting · Runs Created3.4
Batting · Batting Average.200
Batting · Pinch Hit Average.000
Batting · Slugging Percentage.200
Batting · Secondary Average.267
Batting · On Base Percentage.351
Batting · OBP Pct + SLG Pct.551
Batting · Ground To Fly Ball Ratio0.0
Batting · Runs Created Per 27 Outs3.6
Batting · Batter Rating16.0
Batting · At Bats Per Home Run0.0
Batting · Stolen Base Percentage1.00
Batting · Pitches Per Plate Appearance4.33
Batting · Isolated Power.000
Batting · Walk To Strikeout Ratio0.60
Batting · Walks Per Plate Appearance.154
Batting · Secondary Average Minus Batting Average.067
Batting · Runs Produced4.0
Batting · Runs Ratio1.0
Batting · Patience Ratio0.4
Batting · Balls In Play Average0.3
Batting · MLB Rating69.3
Batting · Offensive Wins Above Replacement0.0
Batting · Wins Above Replacement0.0
Pitching · Games Played1
Pitching · Team Games Played1
Pitching · Saves0
Pitching · Ground Balls6
Pitching · Strikeouts7
Pitching · Sacrifice Flies0
Pitching · Losses1
Pitching · Hits6
Pitching · Earned runs3
Pitching · Batters Hit0
Pitching · Walks1
Pitching · Runs3
Pitching · Stolen Bases0
Pitching · Caught Stealing1
Pitching · Sacrifice Bunts0
Pitching · Save Opportunities0
Pitching · Home Runs1
Pitching · Triples1
Pitching · Finishes0
Pitching · Balks0
Pitching · Intentional Walks0
Pitching · Fly Balls12
Pitching · Batters Faced32
Pitching · Holds0
Pitching · Doubles0
Pitching · Wins0
Pitching · Complete Games0
Pitching · Perfect Games0
Pitching · Wild Pitches0
Pitching · Runs Batted In0
Pitching · Third Innings Pitched27
Pitching · Earned Runs0
Pitching · Shutouts0
Pitching · Pickoff Attempts0
Pitching · Pitches114
Pitching · Run Support0.0
Pitching · Catcher Interference0
Pitching · Pitches As Starter0
Pitching · Games Started1
Pitching · Game Score0.0
Pitching · Quality Starts1
Pitching · Inherited Runners0
Pitching · Inherited Runners Scored0
Pitching · Player Rating0.0
Pitching · At Bats31
Pitching · Total Bases11
Pitching · Is Qualified1
Pitching · Is Qualified0
Pitching · Full Innings9
Pitching · Partial Innings0
Pitching · Blown Saves0
Pitching · Innings pitched9.0
Pitching · Earned Run Average3.00
Pitching · Walks Plus Hits Per Inning Pitched0.78
Pitching · Win Percentage.000
Pitching · Caught Stealing Percentage1.0
Pitching · Ground To Fly Ball Ratio0.5
Pitching · Pitches Per Start0.0
Pitching · Pitches Per Inning12.7
Pitching · Pitches Per Plate Appearance3.6
Pitching · Run Support Average0.0
Pitching · Opponent Batting Average.194
Pitching · Opponent's Slugging pct..355
Pitching · Opponent's On-base pct..219
Pitching · Opponent's OPB Pct + SLG Pct.574
Pitching · Save Percentage0.0
Pitching · Strikeouts Per 9 Innings7.0
Pitching · Strikeout To Walk Ratio7.0
Pitching · Tough Losses0
Pitching · Cheap Wins0
Pitching · Save Opportunities Per Win0.0
Pitching · Balls In Play Average0.200
Pitching · Total Bases11.000
Pitching · Pitch Count0
Pitching · Strikes77
Pitching · Strike To Pitch Ratio0.0
Pitching · Wins Above Replacement0.0
Fielding · Games Played1
Fielding · Team Games Played1
Fielding · Double Plays0
Fielding · Opportunities0
Fielding · Errors1
Fielding · Passed Balls0
Fielding · Assists7
Fielding · Outfield Assists0
Fielding · Pickoffs0
Fielding · Putouts27
Fielding · Outs On Field0
Fielding · TP0
Fielding · Balls In Zone0
Fielding · Extra Bases0
Fielding · Outs Made0
Fielding · Hits0
Fielding · Total Bases0
Fielding · Games Started0
Fielding · Third Innings Played0.0
Fielding · Caught Stealing0
Fielding · Stolen Bases Allowed0
Fielding · Earned Runs0
Fielding · Qualified1
Fielding · Qualified Catcher1
Fielding · Qualified Pitcher0
Fielding · Successful Chances0
Fielding · Total Chances0
Fielding · Full Innings0
Fielding · Part Innings Played0
Fielding · Fielding Percentage0.000
Fielding · Range Factor0.0
Fielding · Zone Rating0.0
Fielding · Caught Stealing Percentage0.000
Fielding · Earned Run Average0.0
Fielding · Defensive Wins Above Replacement0.0