P | St. Louis Cardinals
Bats/Throws: S/R | 6' 5" 225 lbs | Age: 28
Draft: 2018 | Rd. 17, No. 513, St. Louis Cardinals | Colorado Mesa University
W L ERA G GS SV IP SO WHIP
2024 1 1 4.07 33 0 1 48.2 33 1.03
2025 4 2 3.07 62 1 1 88 80 1.23
2026 0 1 7.20 1 1 0 5 1 2.00
4 Seasons 5 5 3.77 99 2 2 143.1 116 1.23
G W-L ERA IP SO WHIP
2024 33 1-1 4.07 48.2 33 1.03
2025 62 4-2 3.07 88 80 1.23
2026 1 0-1 7.20 5 1 2.00
4 Seasons 99 5-5 3.77 143.1 116 1.23
MLB Percentile Rankings
Movement Profile (Induced Break)
?

Statcast Statistics

Season Age Pitches Batted
Balls
Barrels Barrel % Barrel/PA Exit
Velocity
Max EV Launch
Angle
LA Sweet-
Spot %
xBA xSLG wOBA xwOBA xwOBAcon HardHit% K% BB% ERA xERA
2023 26 58 7 2 28.6 13.3 92.8 104.3 9.7 42.9 .302 .746 .660 .542 .560 57.1 13.3 33.3 21.60 17.28
2024 27 695 147 9 6.1 4.7 89.9 112.0 14.8 33.3 .257 .455 .270 .327 .373 43.5 17.3 5.2 4.07 4.40
2025 28 1350 254 25 9.8 6.9 89.1 115.2 10.2 37.4 .264 .417 .281 .326 .388 44.1 22.0 7.7 3.07 4.45
2026 29 79 21 3 14.3 12.5 93.1 113.5 2.4 38.1 .372 .576 .422 .432 .427 52.4 4.2 8.3 7.20 8.73
Player 2182 429 39 9.1 6.6 89.6 115.2 11.4 36.1 .266 .442 .293 .336 .387 44.5 19.6 7.6
MLB 7.2 4.9 88.6 122.9 12.4 33.3 .243 .408 .315 .316 .369 37.0 22.2 8.4
! Note: All figures in this table cover the period 2015-present.

Statcast Pitch Arsenal

Leahy relies on 6 pitches.
Four Seamer
(32.9%) ,
Curveball
(19.0%) ,
Changeup
(12.7%) ,
Slider
(12.7%) ,
Sweeper
(11.4%) ,
Sinker
(11.4%) ,


  •   
  •   
  •   

+ If Available Pitches Click to Video.


  •   
  •   
  •   
  •   
  •   
  •   
  •   

Pitch Tracking



Batted Ball Profile

AIR: Fly Balls + Line Drives + Popups All Batted Balls Batted Ball Breakdown
Season GB % AIR % FB % LD % PU % Pull % Straight % Oppo % Pull GB % Straight GB % Oppo GB % Pull AIR % Straight AIR % Oppo AIR %
2023 42.9 57.1 28.6 14.3 14.3 14.3 42.9 42.9 0.0 28.6 14.3 14.3 14.3 28.6
2024 40.8 59.2 29.3 22.4 7.5 33.3 42.2 24.5 21.8 17.0 2.0 11.6 25.2 22.4
2025 44.5 55.5 21.7 28.0 5.9 31.1 42.1 26.8 20.5 17.7 6.3 10.6 24.4 20.5
2026 52.4 47.6 9.5 28.6 9.5 23.8 47.6 28.6 19.0 23.8 9.5 4.8 23.8 19.0
Player 43.6 56.4 23.8 25.9 6.8 31.2 42.4 26.3 20.5 17.9 5.1 10.7 24.5 21.2
MLB 44.2 55.8 24.0 24.7 7.1 37.4 37.4 25.1 20.6 17.6 5.9 16.7 19.7 19.3
! Note: All figures in this table cover the period 2015-present.

Quality of Contact

Season Weak % Topped % Under % Flare/Burner % Solid % Barrel % Barrel/PA
2023 0.0 28.6 14.3 28.6 0.0 28.6 13.3
2024 2.7 29.9 26.5 23.8 10.9 6.1 4.7
2025 4.7 33.9 18.9 24.8 7.9 9.8 6.9
2026 4.8 47.6 14.3 19.0 0.0 14.3 12.5
Player 4.0 33.1 21.2 24.2 8.4 9.1 6.6
MLB 4.0 32.4 24.9 24.4 5.9 7.2 4.9
! Note: All figures in this table cover the period 2015-present.

Pitch Movement


How this works: This section shows two different ways to evaluate pitch movement. On the left, “Total Movement” shows the real-world movement of a pitch, including the forces of gravity, which affects every pitch thrown. Since gravity requires time, and slower pitches aren't 'better' just because they have more time to move, a pitch's movement is compared to other pitches of the same pitch type, within +/- 2 MPH and +/- 0.5 feet of extension/release. On the right, Induced Movement (or IVB) is reported without gravity, and attempts to isolate movement created by the pitcher's ability to spin and manipulate the ball.
Total Movement (in inches, w/ gravity)Induced Movement (in inches, w/o gravity)
YearPitchTeamHand#MPHVertical
Drop
vs.
Comparable
Horizontal
Break
vs.
Comparable
Vertical
Break
vs. AvgHorizontal
Break
vs. Avg
2026 Changeup STL R 10 87.7 34.7 2.6 10.5ARM -4.3 1.0 2.9 10.5ARM -4.3
2026 Curveball STL R 15 82.5 50.8 0.4 8.8GLV 0.0 -10.5 0.1 8.8GLV -0.3
2026 Sinker STL R 9 94.2 19.7 -2.4 12.4ARM -3.6 11.2 -3.3 12.4ARM -3.3
2026 Slider STL R 10 90.5 27.6 -2.3 6.0GLV 2.5 5.6 -4.2 6.0GLV 1.6
2026 Sweeper STL R 9 84.9 36.7 0.2 18.2GLV 4.0 1.4 -0.2 18.2GLV 4.7
2026 4-Seam Fastball STL R 26 94.1 15.6 -1.6 3.7ARM -3.4 15.2 -1.1 3.7ARM -4.1
2025 Slider STL R 283 91.1 27.9 -1.8 4.6GLV 1.0 5.0 -3.2 4.6GLV 0.2
2025 Sinker STL R 101 95.3 17.9 -3.1 13.0ARM -2.1 12.2 -4.8 13.0ARM -2.1
2025 Changeup STL R 129 90.3 28.3 -1.5 11.7ARM -3.1 5.3 -1.2 11.7ARM -2.8
2025 4-Seam Fastball STL R 408 95.4 13.5 0.2 3.2ARM -4.1 16.6 0.8 3.2ARM -4.4
2025 Curveball STL R 243 83.6 52.3 2.5 8.7GLV 1.6 -12.9 2.7 8.7GLV -0.3
2025 Sweeper STL R 186 86.7 33.1 -2.3 15.1GLV 3.2 3.3 -2.3 15.1GLV 1.1
! Note: Years are in reverse order.

Run Values by Pitch Type

Year Pitch Type Team RV/100 Run Value Pitches % PA BA SLG wOBA Whiff% K% PutAway % xBA xSLG xwOBA Hard Hit %
2026 4-Seam Fastball -6.1 -2 26 32.9 8 .571 .714 .581 7.1 0.0 0.0 .462 .620 .502 42.9
2026 Curveball 1.4 0 15 19.0 4 .250 .250 .225 25.0 0.0 0.0 .342 .696 .442 75.0
2026 Changeup -6.4 -1 10 12.7 2 .500 1.500 .800 33.3 0.0 0.0 .509 1.252 .736 50.0
2026 Slider -7.8 -1 10 12.7 3 .667 1.000 .717 0.0 0.0 0.0 .630 .761 .599 66.7
2026 Sweeper 3.9 0 9 11.4 1 .000 .000 .000 50.0 100.0 25.0 -- -- .000 --
2026 Sinker 10.9 1 9 11.4 6 .000 .000 .117 0.0 0.0 0.0 .133 .153 .220 40.0
2025 4-Seam Fastball 0.9 4 408 30.2 93 .237 .388 .320 22.0 25.8 23.8 .243 .451 .344 52.6
2025 Slider 1.1 3 283 21.0 75 .313 .418 .344 18.4 5.3 11.8 .351 .489 .403 37.9
2025 Curveball 1.7 4 243 18.0 68 .141 .172 .171 35.1 36.8 19.8 .195 .304 .243 48.7
2025 Sweeper 1.1 2 186 13.8 54 .255 .314 .249 28.7 29.6 16.3 .251 .396 .282 40.5
2025 Changeup -0.4 -1 129 9.6 38 .286 .400 .330 16.9 13.2 13.9 .260 .417 .322 40.0
2025 Sinker 0.9 1 101 7.5 34 .258 .355 .332 10.2 17.6 25.0 .295 .443 .351 44.0
! Note: Years are in reverse order.
! Note: To better align with other values, positive numbers (red) are good, and negative numbers (blue) are poor.

Spin Direction

Year Pitch Type Pitches MPH Active Spin % Total Movement (In.) Spin-Based Observed Deviation
2026 Curveball 15 82.5 83 15.9 7:30 7:15 15
2026 4-Seam Fastball 26 94.1 90 15.1 12:45 12:30 15
2026 Slider 10 90.5 51 8.0 11:30 10:15 75
2025 Changeup 118 90.3 80 13.0 1:15 2:15 -60
2025 Curveball 243 83.6 84 18.0 7:15 7:00 15
2025 4-Seam Fastball 408 95.4 86 16.4 12:45 12:30 15
2025 Sinker 101 95.3 84 17.8 12:45 1:45 -60
2025 Slider 283 91.1 44 6.5 11:30 10:15 75
2025 Sweeper 185 86.8 47 16.2 8:30 9:15 -45
! Note: Years are in reverse order.
+ Show More Seasons
! Note: This table is showing data from the PITCHER perspective.
+ View Complete Spin Direction Leaderboard

Pitcher Arm Angle

! Note: Data is available from 2020 through the present.
+ View Complete Arm Angle Leaderboard

Statcast Pitching Run Value

Runs
Year Team PA Pitches Heart Shadow Chase Waste All
2023 15 58 -2 0 -1 -1 -4
2024 191 695 9 5 -3 -3 8
2025 362 1,350 11 11 -4 -4 13
2026 24 79 -1 1 -1 0 -1
Player 592 2,182 17 16 -9 17 16
+ View Complete Pitching Run Value Leaderboard
+ Show Leverage-Based Run Value

Plate Discipline

Season Pitches Zone % Zone Swing % Zone Contact % Chase % Chase Contact % Edge % 1st Pitch Strike % Swing % Whiff % Meatball % Meatball Swing %
2023 58 44.8 65.4 76.5 6.3 0.0 27.6 46.7 32.8 31.6 8.6 60.0
2024 695 51.8 72.5 85.4 30.4 57.8 44.3 62.3 52.2 22.3 8.3 82.8
2025 1,350 52.9 68.6 86.5 28.5 50.8 40.7 68.3 49.7 23.1 9.3 84.8
2026 79 51.9 78.0 90.6 34.2 61.5 41.8 62.5 57.0 17.8 6.3 100.0
Player 2,182 52.3 70.1 86.1 28.6 53.4 41.5 65.6 50.3 22.8 8.8 83.9
MLB 48.9 67.0 82.5 28.4 58.0 42.7 61.1 47.3 25.0 7.4 76.3
! Note: All figures in this table cover the period 2015-present.

Percentile Rankings

Run Value Pitching
Year Pitching Fastball Breaking Off
Speed
xERA Fastball
MPH
Fastball
Spin
Curve
Spin
Avg
EV
Chase% Whiff% K% BB% Barrel% Hard-
Hit%
GB% Extension
2023
2024 73 56 96
2025 86 68 92 48 28 67 68 25 54 49 30 45 55 23 20 63 96
2026 14 25 28 10 7 18 69 16 3 50 19 24 69
+ View Complete Percentile Rankings Leaderboard

Expected Home Runs

Adjusted

Year Team Avg HR Trot Actual HR xHR HR-xHR Doubters Mostly Gone No Doubters No Doubter %
2023 28.53 1 0.4 1 1 1 0 0.0
2024 22.67 4 3.1 1 4 3 1 25.0
2025 24.93 5 6.4 -1 9 6 2 40.0
2026 -- 0 0.4 0 0 1 0 --
Player 24.39 10 10.3 0 14 11 3 30.0
Note: xHR tells how many of this pitcher's batted balls allowed would have been out of other stadiums. The "Adjusted" view here accounts for different wall heights, distances and environmental effects using Statcast Park Factor data.
+ View Standard Expected Home Runs

Expected Home Runs by Park

Adjusted

Year HR
2023 1 1 0 1 1 0 1 0 1 0 0 1 0 0 1 0 0 0 0 1 0 0 1 0 0 0 1 1 0 0 0
2024 4 4 2 4 3 3 3 3 4 2 3 5 3 2 3 3 3 2 3 4 3 4 5 3 3 3 3 4 3 2 1
2025 5 6 6 5 8 5 5 5 6 5 5 7 8 14 5 4 7 4 6 9 5 8 9 9 4 5 5 8 9 6 5
2026 0 1 0 0 0 1 0 1 0 0 0 0 1 1 0 0 0 1 0 1 1 0 1 1 1 0 0 0 1 0 0
Player 10 12 8 10 12 9 9 9 11 7 8 13 12 17 9 7 10 7 9 15 9 12 16 13 8 8 9 13 13 8 6
Note: xHR tells how many of this pitcher's batted balls allowed would have been out of other stadiums. The "Adjusted" view here accounts for different wall heights, distances and environmental effects using Statcast Park Factor data.
+ View Standard Expected Home Runs By Park
+ View Complete Expected Home Runs Leaderboard

Year to Year Changes

2026 +/-   2025 +/-   2024 +/-   2023
Results
BA .364 +.120 .244 +.019 .225 -.219 .444
xBA .372 +.108 .264 +.007 .257 -.045 .302
OBP .417 +.117 .300 +.033 .267 -.400 .667
xOBP .424 +.101 .323 +.023 .300 -.281 .581
SLG .545 +.207 .338 -.016 .354 -.757 1.111
xSLG .576 +.159 .417 -.038 .455 -.291 .746
ISO .182 +.087 .095 -.034 .129 -.538 .667
xISO .205 +.052 .153 -.046 .199 -.245 .444
BABIP .381 +.080 .301 +.049 .252 -.248 .500
wOBA .422 +.141 .281 +.011 .270 -.390 .660
xwOBA .432 +.106 .326 -.001 .327 -.215 .542
wOBAcon .416 +.092 .324 +.024 .300 -.514 .814
xwOBAcon .427 +.039 .388 +.015 .373 -.187 .560
BACON .381 +.066 .315 +.043 .272 -.299 .571
xBACON .389 +.042 .347 +.032 .315 -.073 .388
Statcast Hit Metrics
Hard Hit % 52.4 +8.3 44.1 +0.6 43.5 -13.6 57.1
Avg Exit Velocity 93.1 +4.0 89.1 -0.8 89.9 -2.9 92.8
Launch Angle Sweet-Spot % 38.1 +0.7 37.4 +4.1 33.3 -9.6 42.9
Barrel % 14.3 +4.5 9.8 +3.7 6.1 -22.5 28.6
Avg Launch Angle 2.4 -7.8 10.2 -4.6 14.8 +5.1 9.7
Statcast Bat Tracking
Bat Speed 71.1 -0.2 71.3 -0.3 71.6 -1.1 72.7
Attack Angle -1° -2° 10° 10°
Ideal Attack Angle % 50.0 -3.1 53.1 -1.5 54.6 +14.6 40.0
Attack Direction +2° +2°
Swing Path - Tilt 31° -1° 32° +1° 31° -1° 32°
Swing Length 7.1 -0.1 7.2 0.0 7.2 -0.2 7.4
Statcast Pitch Metrics
Fastball Velocity 94.2 -1.2 95.4 -0.1 95.5 -0.3 95.8
Breaking Velocity 85.5 -1.9 87.4 +0.1 87.3 +1.8 85.5
Offspeed Velocity 87.7 -2.6 90.3 +0.5 89.8 -- --
Batted Ball Results
Barrels 3 -22 25 +16 9 +7 2
Popup % 9.5 +3.6 5.9 -1.6 7.5 -6.8 14.3
Flyball % 9.5 -12.2 21.7 -7.6 29.3 +0.7 28.6
Line Drive % 28.6 +0.6 28.0 +5.6 22.4 +8.1 14.3
Groundball % 52.4 +7.9 44.5 +3.7 40.8 -2.1 42.9
Pull % 23.8 -7.3 31.1 -2.2 33.3 +19.0 14.3
Straight Away % 47.6 +5.5 42.1 -0.1 42.2 -0.7 42.9
Opposite Field % 28.6 +1.8 26.8 +2.3 24.5 -18.4 42.9
Weak Contact % 4.8 +0.1 4.7 +2.0 2.7 +2.7 0.0
Pull Airball % 4.8 -5.8 10.6 -1.0 11.6 -2.7 14.3
Topped Contact % 47.6 +13.7 33.9 +4.0 29.9 +1.3 28.6
Under Contact % 14.3 -4.6 18.9 -7.6 26.5 +12.2 14.3
Flare/Burner Contact % 19.0 -5.8 24.8 +1.0 23.8 -4.8 28.6
Solid Contact % 0.0 -7.9 7.9 -3.0 10.9 +10.9 0.0
HR/FB % 0.0 -9.1 9.1 -0.2 9.3 -40.7 50.0
Popups 2 -13 15 +4 11 +10 1
Flyballs 2 -53 55 +12 43 +41 2
Line Drives 6 -65 71 +38 33 +32 1
Groundballs 11 -102 113 +53 60 +57 3
Plate Discipline
In Zone % 51.9 -1.0 52.9 +1.1 51.8 +7.0 44.8
Out of Zone % 48.1 +1.0 47.1 -1.1 48.2 -7.0 55.2
Edge % 41.8 +1.1 40.7 -3.6 44.3 +16.7 27.6
Zone Swing % 78.0 +9.4 68.6 -3.9 72.5 +7.1 65.4
Out of Zone Swing % 34.2 +5.7 28.5 -1.9 30.4 +24.1 6.3
In Zone Contact % 90.6 +4.1 86.5 +1.1 85.4 +8.9 76.5
Out of Zone Contact % 61.5 +10.7 50.8 -7.0 57.8 +57.8 0.0
Whiff % 17.8 -5.3 23.1 +0.8 22.3 -9.3 31.6
First Strike % 62.5 -5.8 68.3 +6.0 62.3 +15.6 46.7
First Pitch Swing % 45.8 +7.8 38.0 -0.2 38.2 +18.2 20.0
Swing % 57.0 +7.3 49.7 -2.5 52.2 +19.4 32.8
Meatball Swing % 100.0 +15.2 84.8 +2.0 82.8 +22.8 60.0
Meatball % 6.3 -3.0 9.3 +1.0 8.3 -0.3 8.6
Zone Swing & Miss % 9.4 -4.1 13.5 -1.1 14.6 -8.9 23.5
Out of Zone Swing & Miss % 38.5 -10.7 49.2 +7.0 42.2 -57.8 100.0
In Zone 41 -673 714 +354 360 +334 26
Out of Zone 38 -598 636 +301 335 +303 32
Edge 33 -516 549 +241 308 +292 16
In Zone Swings 32 -458 490 +229 261 +244 17
Out of Zone Swings 13 -168 181 +79 102 +100 2
In Zone Swing & Misses 3 -63 66 +28 38 +34 4
Out of Zone Swing & Misses 5 -84 89 +46 43 +41 2
Basic
Pitches 79 -1,271 1,350 +655 695 +637 58
PA 24 -339 363 +172 191 +176 15
AB 22 -306 328 +150 178 +169 9
Hits 8 -72 80 +40 40 +36 4
Singles 5 -54 59 +34 25 +24 1
Doubles 2 -14 16 +5 11 +10 1
Triples 1 +1 0 0 0 -1 1
Home Runs 0 -5 5 +1 4 +3 1
Walks 2 -26 28 +18 10 +5 5
Strikeouts 1 -79 80 +47 33 +31 2
K% 4.2 -17.8 22.0 +4.7 17.3 +4.0 13.3
BB% 8.3 +0.6 7.7 +2.5 5.2 -28.1 33.3
HBP 0 -1 1 0 1 0 1
Batted Balls 21 -233 254 +107 147 +140 7
Number of Fastballs 35 -474 509 +201 308 +280 28
Number of Offspeed 10 -119 129 +65 64 +64 0
Number of Breaking 25 -501 526 +306 220 +201 19
+ Toggle Viewing All Player's Year to Year Stats

Statcast Fielder Positioning

vs RHHvs LHH
YearAlignment TypePAwOBAPATotal%PATotal%
2023 Shades 15 .660 13 0 0.0 2 1 50.0
2024 Shades 191 .270 115 0 0.0 76 50 65.8
2025 Shades 362 .281 200 0 0.0 162 87 53.7
2026 Shades 24 .422 7 0 0.0 17 2 11.8
! Note: Shifts are through the 2022 season, Shaded starting from the 2023 season, Shift: three or more infielders are on the same side of second base, Shade: positioned outside of their typical responsible slices of the field.
Learn more about how positioning is defined here

Pitch Tempo

Bases EmptyRunners On Base
SeasonTeamPitchesTempoFast %Slow %PitchesTempoFast %Slow %
2023 7 13.2 100.0% 0.0% 22 15.8 13.6% 0.0%
2024 198 15.1 47.0% 0.5% 88 17.2 12.5% 1.1%
2025 330 14.8 55.5% 0.6% 220 17.2 15.0% 0.5%

+ View Complete Pitch Tempo Leaderboard

Pitch Distribution