Skip to article
The Sporting Page Real Analysis. Not Corporate

MLB · Pitching Data

How Milwaukee’s bullpen closed the Dodgers out after a four-run second

The Brewers needed eight relief innings to finish their sweep. They allowed no walks, then stranded a runner at third in three consecutive innings while protecting the comeback.

Aaron Ashby pitching for the Brewers against the Dodgers in NLCS Game 4 on October 15, 2026.
Aaron Ashby pitches against the Dodgers in NLCS Game 4 on October 15, 2026. Official MLB video preview image. · Credit: MLB / FOX

Milwaukee Brewers · Combined bullpen paper · NLCS Game 4

IP8.0
H7
R / ER3 / 3
BB0
K7
Pitches107

Strikes 76/107 · Misses 18/59 swings · Called strikes + misses 35/107

Eight relief innings without a walk

Milwaukee needed its bullpen for eight innings in NLCS Game 4. The assignment began with a four-run second, but the Dodgers did not score again. Dustin May steadied the game before JoJo Romero and Aaron Ashby protected the Brewers' comeback in a 6-4 win on October 15 that completed the series sweep.

Their common contribution was keeping walks out of the innings. The three relievers faced 31 batters without issuing one, throwing 76 of 107 pitches for strikes, or 71.0%. They allowed seven hits and struck out seven. Four Dodgers runs crossed while May was pitching, but one belonged to starter Shane Drohan, leaving the bullpen charged with three earned runs.

The seven scoreless innings after the second were not free of scoring chances. Los Angeles reached third base in each of the sixth, seventh and eighth. Milwaukee escaped all three threats, with Romero and Ashby using breaking balls to finish important strikeouts.

Every plate appearance, in order

Select an outcome to inspect its complete pitch sequence, locations and available official footage. Each row follows one pitcher’s chronological record.

OutStrikeoutWalkHit
Dustin May44 pitches · 3.0 IP
JoJo Romero24 pitches · 2.0 IP
Aaron Ashby39 pitches · 3.0 IP
The connected bullpen record
PitcherIPHR / ERBBKPitches / strikesInherited / scored
Dustin May3.043 / 30144 / 321 / 1
JoJo Romero2.010 / 00324 / 190 / 0
Aaron Ashby3.020 / 00339 / 250 / 0

R / ER means runs officially charged. Inherited runners remain charged to their previous pitcher. The same runner may be inherited at successive pitching changes, so inherited-runner entries must not be added as unique runners.

Ohtani punished the third consecutive cutter

May entered the second with Kyle Tucker on first and nobody out. Tucker had singled against Drohan. Teoscar Hernández singled against May, and Andy Pages' single later brought Tucker home for the game's first run. That inherited runner accounts for the difference between the runs crossing during the bullpen's work and the runs charged to it.

With two outs, May threw Shohei Ohtani three consecutive cutters. The first missed, and Ohtani swung through the second. He drove the third, a 95.1 mph pitch tracked near the bottom of the zone, 428 feet to right-centre at 113.1 mph. The three-run homer put Los Angeles ahead 4-0 and accounted for every run charged to May.

May kept the deficit at four

May completed the second, then retired the Dodgers in order on eight pitches in the third. Max Muncy's single was his only baserunner in a scoreless fourth. Those final two innings required 23 pitches, 18 of them strikes, and ended with Milwaukee trailing 4-2. May finished three innings with four hits allowed and one strikeout on 44 pitches.

His mix differed substantially from the one he used across 31 regular-season starts. Four-seam fastballs accounted for just two of 44 pitches, or 4.5%, against 595 of 2,399 during the season, or 24.8%. Sweepers rose to 13 of 44, or 29.5%, from 425 of 2,399, or 17.7%. He generated seven misses on 26 swings, a 26.9% rate, despite finishing only one strikeout. The homer was decisive damage within his outing, but the subsequent outs kept the deficit from growing.

Follow the evidence

Inspect the pitches behind the finding

Select a plate appearance, then an individual pitch. Numbers on the location plot follow that plate appearance’s pitch order.

Catcher view. The rectangle is 17 inches wide and uses the first pitch’s recorded batter-zone top and bottom. Markers describe recorded crossing points and are not drawn to ball size. The plot does not establish the catcher’s target.

Romero finished all three strikeouts with sweepers

Milwaukee had tied the game when Romero entered for the fifth. He struck out Ohtani looking on three sweepers, retired Mookie Betts on a grounder and struck out Freddie Freeman swinging. Garrett Mitchell's homer then gave the Brewers a 5-4 lead before Romero returned for the sixth.

Tucker doubled with one out and reached third on Teoscar Hernández's groundout. Romero answered with five consecutive sweepers to Muncy. After two fouls extended the at-bat and a ball missed outside, the fifth pitch drew a swing and miss below the tracked zone. The tying run stayed at third.

The sweeper ended all three of Romero's strikeouts. He used it for 14 of 24 pitches, or 58.3%, compared with 335 of 922, or 36.3%, across 55 regular-season appearances. Its average speed rose from 82.9 to 85.0 mph. Romero also threw a first-pitch strike to all seven hitters he faced, completing two scoreless innings on 24 pitches.

Ashby escaped twice with the tying run at third

Ashby opened the seventh by allowing Pages' 111.4 mph double. Enrique Hernández's sacrifice bunt moved Pages to third with one out. Ohtani then fouled an 85.3 mph slider, missed a 99.3 mph sinker and missed an 86.5 mph slider below the zone. Betts grounded out to end the inning.

The eighth presented the same base-out situation after Will Smith doubled and advanced on Sal Frelick's fielding error. Tucker flied out, leaving Ashby to face Teoscar Hernández with two outs. Hernández missed the opening sinker. After a changeup in the dirt, he missed consecutive curveballs, the last at 84.7 mph, and Smith was stranded.

Ashby used 13 curveballs in 39 pitches, a 33.3% share against 353 of 1,582, or 22.3%, during his 75 regular-season appearances. Pages saw four consecutive curves in the ninth and took the last for strike three. Ashby's sinker remained about half his mix and averaged 98.9 mph across 20 pitches, compared with 97.7 mph across 826 during the season.

The scoreless finish still included hard contact

Ashby's three-inning save required 39 pitches and included seven misses on 20 swings. It also included five balls hit at least 95 mph among eight tracked balls in play, a denominator that includes the sacrifice bunt. In the ninth, Tommy Edman's 110.6 mph grounder and Enrique Hernández's 107.9 mph line drive became outs. The final line should not be read as evidence that Los Angeles stopped hitting the ball hard.

After David Hamilton's insurance homer made it 6-4, Ashby finished the ninth in order. Together, Romero and Ashby supplied five scoreless innings, allowing three hits with six strikeouts and no walks on 63 pitches. Milwaukee's bullpen recovered from the second inning by limiting additional baserunners and finishing threats that hard contact continued to create.

Complete supporting record

Every physical pitch is retained. Each season comparison uses that pitcher’s own 2026 MLB regular-season sample.

Dustin May · 44 pitches · season comparison and workload

Regular-season comparison: 2,399 physical pitches in 31 MLB games, 2026-03-29 through 2026-09-26, restricted to game type R and covering all clubs for that pitcher.

How the repertoire changedColored bars: Game 4. Gray bars: regular season. Shared 0–100% scale.
SI
34.1%20.1% season
FC
31.8%23.7% season
ST
29.5%17.7% season
FF
4.5%24.8% season
PO
0.0%0.0% season
CH
0.0%6.1% season
CU
0.0%7.6% season
Pitch mix and measured averages
Pitch typeGame nGame shareSeason nSeason shareChange (pp)Game mphSeason mph (n)Game rpmSeason rpm (n)Misses / swings
Sinker (SI)1534.1%48120.1%+14.097.196.6 (481)2,3932,365 (481)1 / 8
Cutter (FC)1431.8%56923.7%+8.194.693.3 (569)2,4652,460 (569)2 / 10
Sweeper (ST)1329.5%42517.7%+11.888.286.0 (425)3,3353,157 (425)3 / 6
Four-Seam Fastball (FF)24.5%59524.8%-20.397.596.9 (595)2,5562,336 (595)1 / 2
Pitchout (PO)00.0%10.0%-0.0n/a95.7 (1)n/a2,113 (1)0 / 0
Changeup (CH)00.0%1466.1%-6.1n/a90.2 (146)n/a1,619 (146)0 / 0
Curveball (CU)00.0%1827.6%-7.6n/a83.7 (182)n/a3,113 (182)0 / 0
Pitches by inningShared 0–40 pitch scale. The table keeps same-type speed samples separate from workload.
2
21 pitches
3
8 pitches
4
15 pitches
Outing workload and fastball speed
InningPitchesCumulativeStrikesMissesOutsSI mphSpeed n
22121144397.16
382961397.91
41544122397.08

Fastball comparison uses the outing’s most-used fastball classification in every inning. Small inning samples are labeled and do not establish fatigue or explain a pitching change.

First-pitch strikes: 9/13 plate appearances. Tracked contact: 12 measured exit speeds; 90.2 mph average; 4 at or above 95 mph. Contact totals include bunts. Individual game samples are small.

JoJo Romero · 24 pitches · season comparison and workload

Regular-season comparison: 922 physical pitches in 55 MLB games, 2026-03-26 through 2026-09-26, restricted to game type R and covering all clubs for that pitcher.

How the repertoire changedColored bars: Game 4. Gray bars: regular season. Shared 0–100% scale.
ST
58.3%36.3% season
SI
33.3%45.3% season
CH
8.3%16.7% season
FF
0.0%1.6% season
Pitch mix and measured averages
Pitch typeGame nGame shareSeason nSeason shareChange (pp)Game mphSeason mph (n)Game rpmSeason rpm (n)Misses / swings
Sweeper (ST)1458.3%33536.3%+22.085.082.9 (335)2,9592,854 (335)3 / 8
Sinker (SI)833.3%41845.3%-12.095.193.7 (418)2,2482,209 (418)1 / 4
Changeup (CH)28.3%15416.7%-8.488.087.3 (154)1,3441,311 (154)0 / 1
Four-seam fastball (FF)00.0%151.6%-1.6n/a94.4 (15)n/a2,324 (15)0 / 0
Pitches by inningShared 0–40 pitch scale. The table keeps same-type speed samples separate from workload.
5
12 pitches
6
12 pitches
Outing workload and fastball speed
InningPitchesCumulativeStrikesMissesOutsSI mphSpeed n
51212102395.24
6122492395.04

Fastball comparison uses the outing’s most-used fastball classification in every inning. Small inning samples are labeled and do not establish fatigue or explain a pitching change.

First-pitch strikes: 7/7 plate appearances. Tracked contact: 4 measured exit speeds; 90.1 mph average; 1 at or above 95 mph. Contact totals include bunts. Individual game samples are small.

Aaron Ashby · 39 pitches · season comparison and workload

Regular-season comparison: 1,582 physical pitches in 75 MLB games, 2026-03-26 through 2026-09-26, restricted to game type R and covering all clubs for that pitcher.

How the repertoire changedColored bars: Game 4. Gray bars: regular season. Shared 0–100% scale.
SI
51.3%52.2% season
CU
33.3%22.3% season
SL
10.3%11.9% season
CH
5.1%11.9% season
FF
0.0%1.7% season
Pitch mix and measured averages
Pitch typeGame nGame shareSeason nSeason shareChange (pp)Game mphSeason mph (n)Game rpmSeason rpm (n)Misses / swings
Sinker (SI)2051.3%82652.2%-0.998.997.7 (826)2,1412,097 (826)3 / 14
Curveball (CU)1333.3%35322.3%+11.085.183.7 (353)2,7582,717 (353)3 / 4
Slider (SL)410.3%18811.9%-1.685.985.1 (188)2,5522,536 (188)1 / 2
Changeup (CH)25.1%18811.9%-6.892.791.9 (188)1,8871,805 (188)0 / 0
Four-seam fastball (FF)00.0%271.7%-1.7n/a97.3 (27)n/a2,224 (27)0 / 0
Pitches by inningShared 0–40 pitch scale. The table keeps same-type speed samples separate from workload.
7
10 pitches
8
15 pitches
9
14 pitches
Outing workload and fastball speed
InningPitchesCumulativeStrikesMissesOutsSI mphSpeed n
7101062398.87
8152593399.18
91439102398.75

Fastball comparison uses the outing’s most-used fastball classification in every inning. Small inning samples are labeled and do not establish fatigue or explain a pitching change.

First-pitch strikes: 7/11 plate appearances. Tracked contact: 8 measured exit speeds; 89.4 mph average; 5 at or above 95 mph. Contact totals include bunts. Individual game samples are small.

Complete pitch record · 107 of 107 pitches

Paper pitch numbers follow this combined chronological record. Each detail identifies the individual pitcher’s outing pitch number. A pitch result and the completed plate-appearance outcome remain separate fields.

107 of 107 pitches
Select a pitch number for its tracking measurements.
PitchPitcherInn.HitterCountTypemphrpmPitch resultPA outcome
Dustin May2Teoscar Hernández0–0SI96.72,376Called StrikeSingle
Dustin May2Teoscar Hernández0–1SI96.22,346FoulSingle
Dustin May2Teoscar Hernández0–2ST89.73,336BallSingle
Dustin May2Teoscar Hernández1–2ST88.43,467In play, no outSingle
Dustin May2Max Muncy0–0FC94.42,460BallStrikeout
Dustin May2Max Muncy1–0FC94.32,496FoulStrikeout
Dustin May2Max Muncy1–1ST87.73,296Called StrikeStrikeout
Dustin May2Max Muncy1–2ST89.13,347FoulStrikeout
Dustin May2Max Muncy1–2ST88.63,443Ball In DirtStrikeout
Dustin May2Max Muncy2–2ST88.63,412Swinging StrikeStrikeout
Dustin May2Andy Pages0–0FC95.32,515In play, run(s)Single
Dustin May2Enrique Hernández0–0SI97.02,411BallLineout
Dustin May2Enrique Hernández1–0SI96.02,399Swinging StrikeLineout
Dustin May2Enrique Hernández1–1FC94.22,442Swinging StrikeLineout
Dustin May2Enrique Hernández1–2ST89.13,349In play, out(s)Lineout
Dustin May2Shohei Ohtani0–0FC95.62,484BallHome Run
Dustin May2Shohei Ohtani1–0FC94.72,461Swinging StrikeHome Run
Dustin May2Shohei Ohtani1–1FC95.12,530In play, run(s)Home Run
Dustin May2Mookie Betts0–0FC94.22,424BallFlyout
Dustin May2Mookie Betts1–0SI98.32,485BallFlyout
Dustin May2Mookie Betts2–0SI98.42,447In play, out(s)Flyout
Dustin May3Freddie Freeman0–0ST88.03,242Called StrikeLineout
Dustin May3Freddie Freeman0–1ST87.43,291BallLineout
Dustin May3Freddie Freeman1–1FC93.52,436BallLineout
Dustin May3Freddie Freeman2–1FF97.02,525Swinging StrikeLineout
Dustin May3Freddie Freeman2–2FF98.12,588In play, out(s)Lineout
Dustin May3Will Smith0–0SI97.92,408In play, out(s)Flyout
Dustin May3Kyle Tucker0–0ST86.73,223Called StrikeGroundout
Dustin May3Kyle Tucker0–1FC95.12,475In play, out(s)Groundout
Dustin May4Teoscar Hernández0–0SI96.82,481Called StrikeFlyout
Dustin May4Teoscar Hernández0–1SI96.92,550Called StrikeFlyout
Dustin May4Teoscar Hernández0–2FC94.52,518In play, out(s)Flyout
Dustin May4Max Muncy0–0ST86.63,191Swinging StrikeSingle
Dustin May4Max Muncy0–1ST88.63,383Swinging StrikeSingle
Dustin May4Max Muncy0–2ST88.33,375BallSingle
Dustin May4Max Muncy1–2FC94.12,425In play, no outSingle
Dustin May4Andy Pages0–0SI97.12,304FoulLineout
Dustin May4Andy Pages0–1SI96.82,252BallLineout
Dustin May4Andy Pages1–1SI96.92,323BallLineout
Dustin May4Andy Pages2–1FC94.82,481FoulLineout
Dustin May4Andy Pages2–2SI97.62,409FoulLineout
Dustin May4Andy Pages2–2SI97.72,398FoulLineout
Dustin May4Andy Pages2–2FC94.12,364In play, out(s)Lineout
Dustin May4Enrique Hernández0–0SI96.62,299In play, out(s)Groundout
JoJo Romero5Shohei Ohtani0–0ST84.52,950Called StrikeStrikeout
JoJo Romero5Shohei Ohtani0–1ST84.82,944FoulStrikeout
JoJo Romero5Shohei Ohtani0–2ST85.72,922Called StrikeStrikeout
JoJo Romero5Mookie Betts0–0SI95.72,252Called StrikeGroundout
JoJo Romero5Mookie Betts0–1CH87.01,323BallGroundout
JoJo Romero5Mookie Betts1–1SI95.32,170Called StrikeGroundout
JoJo Romero5Mookie Betts1–2CH88.91,366FoulGroundout
JoJo Romero5Mookie Betts1–2ST85.32,937In play, out(s)Groundout
JoJo Romero5Freddie Freeman0–0SI95.22,319Called StrikeStrikeout
JoJo Romero5Freddie Freeman0–1SI94.62,313Swinging StrikeStrikeout
JoJo Romero5Freddie Freeman0–2ST85.32,997BallStrikeout
JoJo Romero5Freddie Freeman1–2ST86.13,005Swinging StrikeStrikeout
JoJo Romero6Will Smith0–0ST82.73,010Called StrikeLineout
JoJo Romero6Will Smith0–1ST84.13,124BallLineout
JoJo Romero6Will Smith1–1SI94.72,213BallLineout
JoJo Romero6Will Smith2–1SI94.42,269FoulLineout
JoJo Romero6Will Smith2–2ST84.43,007In play, out(s)Lineout
JoJo Romero6Kyle Tucker0–0SI94.52,239In play, no outDouble
JoJo Romero6Teoscar Hernández0–0SI96.22,207In play, out(s)Groundout
JoJo Romero6Max Muncy0–0ST84.92,821Swinging StrikeStrikeout
JoJo Romero6Max Muncy0–1ST85.02,894FoulStrikeout
JoJo Romero6Max Muncy0–2ST84.83,020FoulStrikeout
JoJo Romero6Max Muncy0–2ST86.42,899BallStrikeout
JoJo Romero6Max Muncy1–2ST85.92,891Swinging StrikeStrikeout
Aaron Ashby7Andy Pages0–0SI97.72,018BallDouble
Aaron Ashby7Andy Pages1–0SI98.32,013BallDouble
Aaron Ashby7Andy Pages2–0SI98.11,931In play, no outDouble
Aaron Ashby7Enrique Hernández0–0SI99.42,022In play, out(s)Sac Bunt
Aaron Ashby7Shohei Ohtani0–0SL85.32,508FoulStrikeout
Aaron Ashby7Shohei Ohtani0–1SI99.32,159Swinging StrikeStrikeout
Aaron Ashby7Shohei Ohtani0–2SL86.52,624Swinging StrikeStrikeout
Aaron Ashby7Mookie Betts0–0CH93.01,968Ball In DirtGroundout
Aaron Ashby7Mookie Betts1–0SI99.32,339BallGroundout
Aaron Ashby7Mookie Betts2–0SI99.82,171In play, out(s)Groundout
Aaron Ashby8Freddie Freeman0–0SI98.62,070FoulFlyout
Aaron Ashby8Freddie Freeman0–1SL84.52,543BallFlyout
Aaron Ashby8Freddie Freeman1–1SI98.52,177In play, out(s)Flyout
Aaron Ashby8Will Smith0–0SI98.22,189Called StrikeDouble
Aaron Ashby8Will Smith0–1CU84.62,790BallDouble
Aaron Ashby8Will Smith1–1CU85.92,778BallDouble
Aaron Ashby8Will Smith2–1SI98.62,103FoulDouble
Aaron Ashby8Will Smith2–2SI99.42,248BallDouble
Aaron Ashby8Will Smith3–2SI99.82,229In play, no outDouble
Aaron Ashby8Kyle Tucker0–0SL87.22,532Ball In DirtFlyout
Aaron Ashby8Kyle Tucker1–0SI100.02,123In play, out(s)Flyout
Aaron Ashby8Teoscar Hernández0–0SI99.62,132Swinging StrikeStrikeout
Aaron Ashby8Teoscar Hernández0–1CH92.41,806Ball In DirtStrikeout
Aaron Ashby8Teoscar Hernández1–1CU86.02,700Swinging StrikeStrikeout
Aaron Ashby8Teoscar Hernández1–2CU84.72,747Swinging StrikeStrikeout
Aaron Ashby9Tommy Edman0–0CU84.32,675BallGroundout
Aaron Ashby9Tommy Edman1–0CU83.22,581BallGroundout
Aaron Ashby9Tommy Edman2–0SI98.22,215FoulGroundout
Aaron Ashby9Tommy Edman2–1SI99.02,174Swinging StrikeGroundout
Aaron Ashby9Tommy Edman2–2CU85.82,850BallGroundout
Aaron Ashby9Tommy Edman3–2SI98.72,142FoulGroundout
Aaron Ashby9Tommy Edman3–2SI98.62,078In play, out(s)Groundout
Aaron Ashby9Andy Pages0–0CU85.42,897Called StrikeStrikeout
Aaron Ashby9Andy Pages0–1CU85.82,667Called StrikeStrikeout
Aaron Ashby9Andy Pages0–2CU86.22,884BallStrikeout
Aaron Ashby9Andy Pages1–2CU85.32,766Called StrikeStrikeout
Aaron Ashby9Enrique Hernández0–0SI98.82,295Called StrikeLineout
Aaron Ashby9Enrique Hernández0–1CU84.62,756Swinging StrikeLineout
Aaron Ashby9Enrique Hernández0–2CU85.02,758In play, out(s)Lineout
Sources and pitch definitions

Game record: MLB Gameday and the final MLB pitch feed. Season comparisons: MLB Baseball Savant, 2026 MLB regular season only. Original footage: MLB Film Room. MLB can later correct scoring or pitch classifications.

Counts include physically thrown pitches. Automatic balls and other no-pitch events are excluded. Strikes follow the official pitch-count convention, including fouls and balls in play. Misses are swinging strikes, blocked swinging strikes and missed bunts; foul tips count as contact. Whiff rate is misses divided by swings. Called strikes plus misses are divided by physical pitches.

Tracking retains MLB’s recorded release speed, spin, plate coordinates and native pitch classifications. CU and KC remain separate. Missing measurements are not estimated. Movement values preserve the feed’s sign convention; induced vertical break is not total drop. Locations do not establish the catcher’s target. Hard hit means a recorded exit speed of at least 95 mph. Innings use baseball notation: 4.1 means four innings and one out.