MLB/Players/Justin Bruihl
Justin Bruihl

JUSTIN BRUIHL

P · St. Louis Cardinals · 20212026 · 236 games
236
CAREER GAMES · REGULAR SEASON
4 seasons · postseason below
.257
CAREER BATTING AVERAGE
144 hits in 560 at-bats
16
CAREER HOME RUNS
39 RBI · 12 stolen bases
4.26
CAREER ERA
158.1 innings · 115 strikeouts
3-3
CAREER RECORD
WHIP 1.38

01/Hitting

Season by season
Regular season
SeasonClubGABRH2B3BHRRBIBBSOSBAVGOBPSLGOPS
2024PIT1448121860262102.375.400.6251.025
2023COL54210365618041722448.267.336.410.746
2022LAD4817422444281012262.253.301.437.738
2021LAD421281426002614220.203.282.250.532
Career1585608414428216395010212.257.318.400.718

02/Pitching

Season by season
Regular season
SeasonClubGWLIPHERBBSOHRERAWHIP
2026STL631168.27028264643.671.40
2025TOR150013.219871825.271.90
2024PIT7005.2961519.531.76
2023COL271028.02817112225.461.39
2022LAD241123.2221061343.801.18
2021LAD210118.213671112.891.07
Career15733158.11617558115144.261.38

03/Postseason

Kept apart
Never folded in
SeasonClubGABHHRRBIAVGIPSOERA
2021LAD67100.1432.050.00

04/Every pitch

2021 Regular season
Play log from 2015
Spray chart · 0 batted balls

No batted balls with a location in this window.

Pitch locations · 255 pitches
Called strike (36) Swinging strike (27) In play (54) Foul (48) Ball (90)

Catcher’s view · the zone drawn is the average of the 255 batter zones recorded here, 1.57 to 3.39 feet

Pitch mix
PitchNShareMPHRPMStrike%
Cutter14858.0%88.22,35450.0%
Sweeper7629.8%78.92,37930.3%
Sinker3112.2%90.42,14245.2%

05/Game log

2021
Regular season
DateOppResultABRHHRRBIBBSOIPHERBBSO
AUG 8vs LAAW 825000012
AUG 8vs LAAW 8250000121.20012
AUG 10@ PHIW 5030000111.00011
AUG 10@ PHIW 503000011
AUG 12@ PHIL 1230000011.00001
AUG 12@ PHIL 123000001
AUG 13@ NYMW 652320020
AUG 13@ NYMW 6523203200.02220
AUG 16vs PITW 214010000
AUG 16vs PITW 2140100001.01000
AUG 18vs PITW 905010001
AUG 18vs PITW 9050100011.21001
AUG 21vs NYMW 4330100001.01000
AUG 21vs NYMW 433010000
AUG 25@ SDW 533000010
AUG 25@ SDW 5330000101.00010
AUG 27vs COLL 241000001
AUG 27vs COLL 2410000010.10001
AUG 28vs COLW 5220000010.20001
AUG 28vs COLW 522000001
AUG 29vs COLL 0520100000.21000
AUG 29vs COLL 052010000
SEP 3@ SFL 233000001
SEP 3@ SFL 2330000011.00001
SEP 5@ SFL 465010011
SEP 5@ SFL 4650100112.01011
SEP 12vs SDW 8030000001.00000
SEP 12vs SDW 803000000
SEP 14vs AZW 8463313011.03301
SEP 14vs AZW 846331001
SEP 22@ COLL 5102110000
SEP 22@ COLL 51021100000.11100
SEP 23@ COLW 7520100010.11001
SEP 23@ COLW 752010001
SEP 26@ AZW 304010010
SEP 26@ AZW 3040100101.01010
SEP 29vs SDW 1192000000
SEP 29vs SDW 11920000000.20000
OCT 1vs MILW 863000000
OCT 1vs MILW 8630000001.00000
OCT 3vs MILW 10310000000.10000
OCT 3vs MILW 1031000000

Regular season and postseason are separate tables and are never summed into one career line; spring training is excluded entirely. Hitting and pitching come from different source rows, so a two-way player has both tables and neither borrows from the other. Innings pitched is summed as outs and converted once: the stored value counts thirds, so “6.1” means six innings and one out, and adding those as decimals understates a career. ERA and WHIP are computed from those totals rather than averaged across seasons. On-base percentage is (H + BB) over (AB + BB), which runs slightly under the official figure because the source rows carry no hit-by-pitch or sacrifice fly. The charts cover 2015 onward only, and the spray chart plots batted balls with a recorded landing spot: a strikeout or a walk has no location and is not a missing dot. Its field is a representative park, not the one the ball was hit in, because a spray chart pooled across a season is hit in thirty different outfields.