ARCHIVE June 28, 2026
June 28, 2026 · NL West

Atlanta Braves vs San Francisco Giants

June 28, 2026Oracle ParkSunny 69°F · 10 mph, Varies
AWAY
Atlanta Braves
49-33
2
vs
HOME
San Francisco Giants
35-48
3

Game Highlights

Published June 28, 2026 · Source: MLB

Scoring summary

INN BATTER PLAY SCORE
B6 Rafael Devers Rafael Devers singles on a ground ball to third baseman Austin Riley. Luis Arraez scores. Heliot Ramos to 3rd. Throwing error by third baseman Austin Riley. ATL 0, SF 1
B6 Jung Hoo Lee Jung Hoo Lee singles on a ground ball to second baseman Ozzie Albies. Heliot Ramos scores. Rafael Devers to 3rd. Jung Hoo Lee to 2nd. Throwing error by second baseman Ozzie Albies. ATL 0, SF 2
B7 Luis Arraez Luis Arraez out on a sacrifice fly to right fielder Eli White. Drew Gilbert scores. Matt Chapman to 3rd. ATL 0, SF 3
T8 Michael Harris II Michael Harris II out on a sacrifice fly to left fielder Victor Bericoto in foul territory. Eli White scores. ATL 1, SF 3
T9 Austin Riley Austin Riley grounds out to first baseman Rafael Devers. Matt Olson scores. ATL 2, SF 3

Box score

  123456789 R
ATL 000000010 1
SF 000002100 3

Pitching & bullpen

How the game was pitched — the starters, the bullpen sequence and each arm's role, and the pitch counts behind them.

Braves AWAY 2

Chris Sale started for Braves, leaving trailing 0–2. Out of the bullpen, Didier Fuentes took the roughest line.

workload · innings pitched
  • Chris Sale Starter 6.0 94 2 10 L
    Pitch-by-pitch: what Chris Sale threw
    CSW 30% 1st-pitch strike 69% 3.6 pitches/PA
    Pitch#%WhiffCSFoulBallIn play
    Four-Seam Fastball 40 43% 12 2 8 14 4
    Slider 25 27% 2 6 5 6 6
    Sinker 16 17% 0 3 6 3 4
    Changeup 13 14% 3 0 6 3 1
  • Didier Fuentes Middle 0.1 16 1 0
  • Dylan Lee Setup 0.2 7 0 2 inherited 2, stranded 2
  • Tyler Kinley Setup 1.0 12 0 0
Giants HOME 3

Robbie Ray started for Giants, leaving with a 3–1 lead. Out of the bullpen, Caleb Kilian took the roughest line.

workload · innings pitched
  • Robbie Ray Starter 8.0 95 1 2 W
    Pitch-by-pitch: what Robbie Ray threw
    CSW 22% 1st-pitch strike 53% 3.2 pitches/PA
    Pitch#%WhiffCSFoulBallIn play
    Sinker 36 38% 3 11 2 9 11
    Changeup 25 26% 2 1 2 9 11
    Slider 22 23% 3 0 1 14 4
    Four-Seam Fastball 7 7% 0 0 2 4 1
    Knuckle Curve 5 5% 0 1 1 3 0
  • Caleb Kilian Middle 1.0 18 1 1 SV

Where the game turned

1 run Bottom 6th · off Sale
  • Devers 1B

Batting lines

AWAY · ATL
BATTER ABRHRBIBBK AVGOBPSLGOPS NOTES
Mauricio Dubón LF 4 0 1 0 0 0 .267 .316 .421 .737 2B
Michael Harris II CF 3 0 0 1 0 0 .297 .329 .496 .825
Ozzie Albies 2B 4 0 0 0 0 1 .274 .325 .433 .758
Matt Olson 1B 4 1 3 0 0 1 .276 .345 .530 .875 2B
Drake Baldwin DH 4 0 0 0 0 0 .255 .337 .463 .800
Austin Riley 3B 4 0 0 1 0 0 .209 .289 .338 .627
Mike Yastrzemski PH 1 0 0 0 0 1 .220 .307 .335 .642
Ha-Seong Kim SS 2 0 0 0 1 0 .068 .171 .068 .239
Joey Bart C 3 0 0 0 0 0 .236 .263 .375 .638
Dominic Smith PH 1 0 1 0 0 0 .279 .320 .419 .739
Eli White RF 3 1 1 0 0 0 .219 .265 .362 .627 SB
HOME · SF
BATTER ABRHRBIBBK AVGOBPSLGOPS NOTES
Matt Chapman 3B 4 0 2 0 0 1 .241 .331 .378 .709 2B
Luis Arraez 2B 3 1 2 1 0 0 .324 .360 .447 .807
Heliot Ramos DH 3 1 1 0 1 1 .268 .311 .423 .734
Rafael Devers 1B 4 0 1 0 0 2 .240 .299 .452 .751
Victor Bericoto LF 4 0 1 0 0 1 .250 .273 .531 .804
Jung Hoo Lee RF 4 0 1 1 0 0 .322 .354 .462 .816
Eric Haase C 3 0 0 0 1 2 .190 .250 .429 .679
Drew Gilbert CF 1 1 1 0 0 0 .233 .319 .362 .681
Willy Adames SS 4 0 1 0 0 3 .231 .275 .430 .705
Jonah Cox CF 2 0 0 0 0 2 .292 .292 .542 .834

Pitching lines

AWAY · ATL
PITCHER IPHRERBBKHR NPERA DEC
Chris Sale 6.0 8 2 1 1 10 0 94 2.10 L
Didier Fuentes 0.1 2 1 1 1 0 0 16 2.59
Dylan Lee 0.2 0 0 0 0 2 0 7 0.97
Tyler Kinley 1.0 0 0 0 0 0 0 12 3.00
HOME · SF
PITCHER IPHRERBBKHR NPERA DEC
Robbie Ray 8.0 4 1 0 1 2 0 95 3.39 W
Caleb Kilian 1.0 2 1 1 0 1 0 18 4.11 SV

Manager comparison

AWAY · ATL
Walt Weiss
Lineup 3.3 R Bunts 0.7 R IBBs 2.2 R
HOME · SF
Tony Vitello
Lineup 2.2 R Bunts 2.7 R IBBs 2.9 R

Recent form

AWAY · ATL
8-1 W7 +25 run diff
WWWWWWWLW?
HOME · SF
4-6 L2 +1 run diff
LLWLLLWWLW

Keep reading

How RunsLeft analyzes games

Standard content on this page comes from the MLB Stats API. The pitching analysis describes how the game was pitched — the starter's line, the bullpen sequence and each arm's role (opener, bulk, setup, closer), pitch counts as a fatigue signal, and the leverage context where the game turned. Reliever roles are inferred from how the manager used each arm up to that date. It describes structure and constraints; it does not grade the manager.

Read the full methodology.