This Saturday Nurmagomedov vs Song · Oriental Sports Center Pudong District China See this week's picks →
Events · UFC Freedom 250 · Aiemann Zahabi vs Sean O'Malley
Red corner AiemannZahabiTristar Gym · Laval, Quebec
VSSettled
Blue corner SeanO'Malley“Suga”Red Hawk Academy · Helena, Montana
Bantamweight3 rounds15 Jun 2026
The story going in
  • Comes in on a 7-fight win streak.
  • Has finished 6 of 11 UFC wins.
  • Has finished 2 of 8 UFC wins.
  • 15 UFC bouts deep — 5 more than Zahabi.
14-3
Record
20-3
38
Age
−7 yr31
5' 8"
Height
+3″5' 11"
68″
Reach
+4″72″
Orthodox
Stance
Switch
10
UFC bouts
+515
2/825% of wins
Finishes
+30%6/1155% of wins
Tristar Gym
Gym
Red Hawk Academy
Laval, Quebec
From
Helena, Montana
Vitals, record, nickname and camp come from the public UFC fighter register and are current, not a snapshot of fight night. UFC bouts, finish rate and every storyline line are counted off the official UFC fight record. A tick marks the side holding the raw edge in that row — longer reach, taller, younger, more bouts, a higher finish rate. It is a fact about the tape, not a prediction, and rows with no clean comparison (record, stance, gym, hometown) carry no tick at all. Any row we cannot fill on both sides is left out rather than half-drawn. Streaks, bout counts and finish rates are as they stood going into this fight — this bout and everything after it is excluded from the count.

The call vs the fight

What we published before the card, next to what happened in the cage.

Our call
Sean Omalley
53.0% confidentTOSS-UP
Method calledDEC 46%
Vs the market−25.3pp
Market had our pick at78%
The fight
Sean Omalley
WIN
How it endedKO/TKO
Round2 of 3
Clock4:02
Called it We called Sean Omalley at 53.0% and Sean Omalley won. The method call missed.
Graded against the official UFC result, from the same record every other page on this site is graded from. The tick beside the verdict is the method call — a correct winner with a wrong method is a partial hit and reads as one. See the full public record →

Round by round

Every round the fight went, shaded by where the significant strikes actually landed — and the takedowns, control time and knockdowns beside them.

UFCStats · per round

2 rounds of tape

Round 15:00 of action
Aiemann Zahabi8 sig landed
HEAD38%3 of 10BODY0%0 landedLEGS62%5 of 6
Sean O'Malley14 sig landed
HEAD50%7 of 22BODY43%6 of 12LEGS7%1 of 1
8 of 16
Sig.
strikes
14 of 35
0 of 0
Take-
downs
0 of 0
0:00
Control
0:00
0
Knock-
downs
0
Distance 8Clinch 0Ground 0
Where it
happened
Distance 14Clinch 0Ground 0
Round 24:02 of action⚡ 1 KD O'MalleyEnded 4:02
Aiemann Zahabi24 sig landed
HEAD12%3 of 15BODY0%0 landedLEGS88%21 of 25
Sean O'Malley27 sig landed
HEAD93%25 of 44BODY4%1 of 1LEGS4%1 of 1
24 of 40
Sig.
strikes
27 of 46
0 of 0
Take-
downs
0 of 0
0:00
Control
0:02
0
Knock-
downs
1
Distance 24Clinch 0Ground 0
Where it
happened
Distance 27Clinch 0Ground 0

Significant strikes, takedowns, control time, knockdowns and submission attempts exactly as UFCStats recorded them for this bout, round by round. Zone percentages are that round’s landed head, body and leg counts over their own total — raw arithmetic, nothing modelled or smoothed. A round in which a fighter landed nothing shades empty and reads zero; it is never filled in from the round before.

How it ended

This bout never reached the judges. Here is the finish, as the official record has it.

Won inside the distance

Sean Omalley

Round
2
Clock
4:02
Method
KO/TKO

This bout did not reach the judges, so there are no official cards for it. The round-by-round tape above is the whole record of what happened. Referee: Jason Herzog.

Takedowns

Takedowns

The level change — head to head

Career UFC takedown rates. Red corner left, blue corner right.

Aiemann Zahabi

0.12takedowns / 15 min
0.12 / 15m
TAKEDOWNS
0.24 / 15m
0.86 / 15m
ATTEMPTS
0.57 / 15m
14%
ACCURACY
42%
0.00 / 15m
SUB ATT
0.20 / 15m

Sean O'Malley

0.24takedowns / 15 min

Career UFC takedown rates exactly as UFCStats publishes them: takedowns landed per 15 minutes, completion rate, submission attempts per 15 minutes, and the share of takedowns tried on him that he stuffed. Attempts per 15 is the one derived figure — landed ÷ completion rate — and it is omitted wherever either input is missing. UFCStats writes 0% where no attempt was recorded at all, so a percentage of exactly zero reads “n/a” here rather than as a measured rate. “Field” is the average fighter in that weight class, or across every division where a class is too small to average. Rate bars run to the population’s 95th percentile (5.45 takedowns / 15m); a fighter above it pins the bar. Percentages are drawn on their own axis.

Ranked in Bantamweight

The market story

What the market did on the way to the cage — the price, not our model. The gold marker is where our pick was frozen.

Aiemann ZahabiSean O'MalleyPolymarketSportsbook consensus (vig removed)
Aiemann Zahabi vs Sean O'Malley — implied win chance over timeLine chart. Market-implied win chance for Aiemann Zahabi and Sean O'Malley from Jun 01 to Jun 15, drawn from Polymarket and the sportsbook consensus. Aiemann Zahabi moves from 24% to 22% and Sean O'Malley from 76% to 78%. A gold marker shows where our pick was frozen.15%25%35%45%55%65%75%85%Jun 1Jun 5Jun 8Jun 11Jun 15▲ we passed here (toss-up)22%78%

Sean O'Malley's implied chance drifted up from 76% to 78% (+1.5pp) over this window.

Our published call had Sean Omalley at 53.0%. At the last price we captured before the fight, the de-vigged market had him at 77.5% — our number sat 24.5pp below the market’s. Two numbers, side by side. How our calls have actually done is the public record, not one bout.

Show the numbers
SeriesOpenLowHighLast captureMove
Aiemann Zahabi — sportsbook consensus22.8%20.8%30.0%21.6%−1.2pp
Sean O'Malley — sportsbook consensus77.2%70.0%79.2%78.4%+1.2pp
Aiemann Zahabi — Polymarket24.0%21.5%24.5%22.5%−1.5pp
Sean O'Malley — Polymarket76.0%75.5%78.5%77.5%+1.5pp
Price history from Polymarket (moneyline, both corners) and BestFightOdds (sportsbook consensus, vig removed). 3,160 snapshots on file · window Jun 01 17:20Jun 15 01:15Z · last capture Jun 15, 01:15Z · hourly-downsampled for the chart · read at build time from the price archive, not a live feed.
← Back to the public record