# Rabbitohs v Storm — NRL Round 21 2026 AI Prediction by Alphr

## Full Time: Rabbitohs 28 – 26 Storm

_Rabbitohs fight back to hop past Storm from 8 down._

Half time: 8 – 16 · Alphr AI pre-game win probability: Rabbitohs 43% / Storm 57% · Accor Stadium, Sydney · Fri, 24 July, 08:00 pm AEST

**Try Scorers** — Rabbitohs: Campbell Graham (2' 1st Tipped 🎯), Jack Wighton (8'), Brandon Smith (49'), Alex Johnston (55' Tipped ⚡), John Radel (63'), Campbell Graham (75' 1st Tipped 🎯) · Storm: Siulagi Tuimalatu-Brown (17'), Oryn Keeley (25'), Sualauvi Faalogo (38'), Tyran Wishart (67'), Nick Meaney (70')

### Match Winner — AI Prediction Market (resolved)

| Team | Pre-game AI win probability | Result |
|---|---|---|
| Storm | 57% | Lost |
| Rabbitohs | 43% | Won |

Model call: **Missed** · Margin: 0.9 predicted → 2 actual · Markets hit: 1/4

_AI win probability priced pre-game · Markets hit = core betting markets._

### Full-Time Report

**South Sydney Rabbitohs vs Melbourne Storm Prediction & Tips | NRL Round 21 2026**

_By Ben Dunlop · Published: 21 July 2026, 06:59 pm · Last updated: 24 July 2026, 09:57 pm_

Rabbitohs 28–26 Storm in NRL Round 21 at Accor Stadium, Sydney. Here's how the result stacked up against the model's call, with the win-probability story and where the value landed.

Rabbitohs won it with kicks, 28–26 over Storm at Accor Stadium. They booted their way to 675 kick metres, a clear edge over Storm's 447. Those extra metres made all the difference, especially in a game with margins as tight as this. Campbell Graham was the hero, diving over twice, including the match-winner in the 75th minute.

The first half saw an early Rabbitohs flurry. Graham and Jack Wighton put the Bunnies ahead 8–0 in the opening minutes. But by half-time, Storm had swung the scoreboard to 16–8 with tries from Siulagi Tuimalatu-Brown, Oryn Keeley, and Sualauvi Faalogo. Their forwards were dominating with 1,917 run metres on the night.

Rabbitohs weren't fazed. They came out firing in the second half, with Brandon Smith crossing over in the 49th minute, followed by Alex Johnston and John Radel. This surge flipped the script, putting them ahead 22–16. They broke the Storm line 10 times to 7, far exceeding Storm's backline strength rating of 947, compared to Rabbitohs' 1000.

But Storm kept up the pressure. Tyran Wishart and Nick Meaney scored tries just six minutes apart late in the game, regaining the lead at 26–24. It was a real wrestle. The Rabbitohs missed 39 tackles, showing signs of fatigue, but they never lost their grip on the contest.

Storm had cleaner hands, only making six errors against Rabbitohs' nine. Their completion rate at 87% was slightly better than Rabbitohs’ 86%, playing into their favour in the first half. But it was Rabbitohs' ability to break through and regain territory that turned the tide. Converting pressure into points, even when the ball-handling got wobbly, is where they shone.

Models favoured Storm by 0.9 points, but it missed how Rabbitohs managed to cover the 1.5-point line. Alphr's statistical toolkit was off this time, calling the wrong winner in a match where the Rabbitohs' kicking game was clearly underestimated.

Both teams took three penalties each, so discipline wasn't the issue. It was about seizing opportunities as they came. Rabbitohs may not have been perfect, but they were opportunistic, scoring when it counted the most. Graham's second try sealed it, and it was game over for Storm from there.

That’s the wrap from the Accor Stadium battlefield. A cracking finish in a game where every stat counted, but one stood out. Kick metres turned to gold for Rabbitohs, leaving Storm to wonder what might have been with a little more territory. Simple as that.

**Scoring by Half**

| Team | H1 | H2 | T |
|---|---|---|---|
| Rabbitohs | 8 | 20 | 28 |
| Storm | 16 | 10 | 26 |

**Key Match Stats**

| Rabbitohs | Stat | Storm |
|---|---|---|
| 50% | Possession | 50% |
| 86% | Completion rate | **87%** |
| 1,664 | Run metres | **1,917** |
| 558 | Post-contact metres | **647** |
| **10** | Line breaks | 7 |
| 34 | Tackle breaks | **39** |
| 3 | Offloads | **11** |
| 86.0% | Effective tackle % | **90.8%** |
| 39 | Missed tackles | **34** |
| 9 | Errors | **6** |
| 3 | Penalties conceded | 3 |
| **675** | Kick metres | 447 |

**Model Report Card**

Rabbitohs defied the model's 57% prediction for Storm, a notable result. The margin model was sharp, predicting Storm by 0.9 vs the actual margin of 2 points. Rabbitohs trailed 8–16 at half-time before staging a second-half comeback to win 28–26. The model went 4/17 on this match. Rabbitohs covered the 1.5-point line.

**Referee Watch**

Ashley Klein officiated this match (413 career games). The combined score of 54 points was 11 points above Ashley Klein's career average of 43. Rabbitohs bucked the trend, Storm historically win 61% of games under Ashley Klein, but couldn't convert that edge today. Rabbitohs's home victory fits Ashley Klein's profile, home teams win 61% of the time under this referee.

**Key moments (momentum model)**

- 2' Try — Campbell Graham (Rabbitohs) — 4-0 · win-prob swing +4 pts
- 7' Try — Jack Wighton (Rabbitohs) — 8-0 · win-prob swing +5 pts
- 16' Try — Siulagi Tuimalatu-Brown (Storm) — 8-4 · win-prob swing -4 pts
- 24' Try — Oryn Keeley (Storm) — 8-8 · win-prob swing -5 pts
- 37' Try — Sualauvi Faalogo (Storm) — 8-14 · win-prob swing -5 pts
- 49' Try — Brandon Smith (Rabbitohs) — 12-16 · win-prob swing +4 pts
- 55' Try — Alex Johnston (Rabbitohs) — 18-16 · win-prob swing +7 pts
- 63' Try — John Radel (Rabbitohs) — 22-16 · win-prob swing +6 pts
- 66' Try — Tyran Wishart (Storm) — 24-20 · win-prob swing -3 pts
- 70' Try — Nick Meaney (Storm) — 24-26 · win-prob swing -5 pts
- 75' Try — Campbell Graham (Rabbitohs) — 28-26 · win-prob swing +7 pts

_Official NRL match stats · Generated by Alphr's model_

### Edge Analysis — the model's pre-game markets

- **Head to Head:** Storm to win @ $1.85 (edge +5.1%) — model probability 57.1% — result: LOST
- **Line / Spread:** Rabbitohs +1.5 @ $1.91 (edge +0.0%) — result: WON
- **Margin Band:** Storm 1-12 @ $2.55 (edge +0.0%) — result: LOST
- **Total (Over/Under):** Under 46.5 @ $1.91 (edge +0.0%) — result: LOST
- Predicted margin: Storm by 1 · Predicted total: 44

### Match Preview (pre-match read)

Storm are the call at 57%, but Rabbitohs stay live at 43%.

On paper Rabbitohs shade it, ahead on 3 of 7 factors including Backline Quality, Recent Win Rate and Venue Advantage. The model still sides with Storm, which says Halves Control carry the most weight. Lean Storm, but it shapes as a genuine contest.

Storm have won 6 of the last 10 between these two, and Rabbitohs took the most recent meeting 28-26 in 2026 Round 21.

Rabbitohs have put up 128 points in four games. Storm have put up 126 points in four games. Rabbitohs have won 3 games this season after trailing at half-time.

On the ladder it's Rabbitohs 7th against Storm 11th.

The market has Storm favourites, Rabbitohs $2.00 and Storm $1.85, with the line at Rabbitohs +1.5 and the total at 46.5.

Ashley Klein has the whistle: 15.5 penalties a game (whistle-happy), 0.6 sin bins a game, home sides win 61% of his games.

**By the numbers**

|  |  |
|---|---|
| H2H (last 10) | Rabbitohs 4 · Storm 6 |
| Last meeting | Rabbitohs 28-26 |
| Rabbitohs last 4 | LWWL · 128 for, 107 against |
| Rabbitohs at home | 9-4 this season |
| Storm last 4 | WLWW · 126 for, 82 against |
| Storm away | 4-8 this season |
| Ladder | Rabbitohs 7th · Storm 11th |
| Finals odds | Rabbitohs 100% · Storm 0% |
| Market | Rabbitohs $2.00 · Storm $1.85 |
| Line | Rabbitohs +1.5 · total 46.5 |
| Referee | Ashley Klein · 15.5 pens/g · 0.6 bins/g |

_Pre-match read · Alphr model_

### Referee Indicator — Favours Storm

**Ashley Klein** — 413 career games since 2012.

| Team | Record under Ashley Klein | Win rate |
|---|---|---|
| Rabbitohs | 30W–28L | 52% |
| Storm | 41W–26L | 61% |

Avg total: 43.3 pts · Home win %: 61% · Home bias: Leans home

Storm hold a 9-point edge: 41W–26L (61%) vs Rabbitohs's 30W–28L (52%). Home teams win 61% of his matches (vs ~52% league avg).

Rabbitohs get a +0.7 penalty advantage under Ashley Klein vs Storm's -0.1.

### Recent Form (Last 5)

| Rabbitohs | Stat | Storm |
|---|---|---|
| 3.0 | Wins (Last 5) | 3.0 |
| 28.8pts | Avg Score | 21.2pts |
| 22.4pts | Avg Conceded | 22.4pts |
| 6.4pts | Avg Margin | -1.2pts |
| 1788.8m | Run Metres | 1648.2m |
| 6.2 | Line Breaks | 4.8 |
| 313.4 | Tackles | 338.6 |
| 11.4 | Errors | 9.2 |

### Form & History

_Last 5 games, oldest → newest._

| Team | Last 5 | Avg Pts |
|---|---|---|
| Rabbitohs | R15 W · R17 W · R18 L · R19 W · R20 L | 28.8 |
| Storm | R14 W · R16 W · R17 L · R19 W · R20 L | 21.2 |

### H2H History (Last 5) — Storm lead 4-1

| Season | Round | Home | Score | Away | Alphr's read |
|---|---|---|---|---|---|
| 2026 | R8 | Storm | 6 – 48 | Rabbitohs | Storm 63% ✗ |
| 2025 | R16 | Rabbitohs | 24 – 25 | Storm | not priced |
| 2025 | R8 | Storm | 24 – 16 | Rabbitohs | not priced |
| 2024 | R23 | Rabbitohs | 16 – 28 | Storm | not priced |
| 2024 | R8 | Storm | 54 – 20 | Rabbitohs | not priced |

_Alphr's pre-match read was wrong in the one decided meeting it priced._

### Positional Matchup

_Season-to-date production per game with league-wide attack/defence tiers (17 teams)._

**Field Matchup** — where one team attacks vs where the other concedes:
- Rabbitohs' best path is the right edge: NRL's 2nd-ranked right edge attack (1.65 tries/game) runs at a Storm defence ranked 15th there (1.44 conceded/game). Key man: Graham, 7 tries in that channel this season.
- Storm's best path is the middle: NRL's 4th-ranked middle attack (1.89 tries/game) runs at a Rabbitohs defence ranked 10th there (1.65 conceded/game). Key man: Faalogo, 13 tries in that channel this season.

| Channel | Rabbitohs | Storm |
|---|---|---|
| Left | 2/g (att 1st (strong)) · concedes 1.35/g (def 8th) | 0.78/g (att 17th (weak)) · concedes 1.5/g (def 13th (weak)) |
| Middle | 1.41/g (att 12th) · concedes 1.65/g (def 10th) | 1.89/g (att 4th (strong)) · concedes 1.11/g (def 3rd (strong)) |
| Right | 1.65/g (att 2nd (strong)) · concedes 0.94/g (def 3rd (strong)) | 1.44/g (att 5th (strong)) · concedes 1.44/g (def 15th (weak)) |

**Attack Spine** (Halfback · Five-Eighth · Hooker)

|  | Rabbitohs | Storm |
|---|---|---|
| Attack rank | 11th | 2nd (strong) |
| Defence rank | 6th (strong) | 3rd (strong) |
| Tries scored · conceded | 9 · 8 | 14 · 8 |
| Try Assists | 1.8/g | 1.9/g |
| Run Metres | 160m/g | 229m/g |
| Tackle Breaks | 2.6/g | 6.1/g |
| Line Breaks | 0.6/g | 1.3/g |
| Tackle Efficiency | 83.2% | 85.2% |

**Outside Backs** (Fullback · Wingers · Centres)

|  | Rabbitohs | Storm |
|---|---|---|
| Attack rank | 2nd (strong) | 9th |
| Defence rank | 6th (strong) | 11th |
| Tries scored · conceded | 55 · 41 | 47 · 47 |
| Try Assists | 2.1/g | 0.8/g |
| Run Metres | 719m/g | 682m/g |
| Tackle Breaks | 16.5/g | 16.6/g |
| Line Breaks | 4.1/g | 2.9/g |
| Tackle Efficiency | 77.3% | 74.5% |

**Forwards** (Props · 2nd Rows · Lock)

|  | Rabbitohs | Storm |
|---|---|---|
| Attack rank | 2nd (strong) | 13th (weak) |
| Defence rank | 13th (weak) | 17th (weak) |
| Tries scored · conceded | 17 · 14 | 11 · 21 |
| Try Assists | 0.4/g | 0.2/g |
| Run Metres | 603m/g | 509m/g |
| Tackle Breaks | 9.6/g | 9.6/g |
| Line Breaks | 1.1/g | 0.7/g |
| Tackle Efficiency | 89.9% | 91.6% |

**Who scores on Storm** — Wingers 1.35/g (lg 1.28) +5% · Centres 0.69/g (lg 0.72) -4% · 2nd Rows 0.43/g (lg 0.47) -9%
**Who scores on Rabbitohs** — Hookers 0.22/g (lg 0.13) +69% · Five-Eighths 0.43/g (lg 0.27) +59% · Fullbacks 0.55/g (lg 0.41) +34%

_Tries conceded by position, last 3 seasons; positive = concedes above league average to that position._

### Try Scorer History — Who Crosses The Line

_Last 10 games, career record vs the opponent and at Accor Stadium. ⚡ = our AI backs them to score; 🎯 = our AI's first-try pick. 🏉 = scored in this game. Try % = share of games with a try, last 10 weighted double vs the 30 prior — historical frequency, not a market price._

**Rabbitohs** (team sheet)

| # | Player | Pos | 2026 | Last 10 | vs opp | Venue | Try % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Matthew Dufty | FB | 2 in 10g | 2/10g (1·1·0·0·0·0·0·0·0·0) | 3/7g | 2/14g | 24% | ⚡ Anytime Try $3.05 AI 15% ✗ No try | — |
| 2 | Alex Johnston | WG | 20 in 14g | 15/10g (1·1·2·2·3·1·0·4·0·1) | 19/16g | 98/94g | 68% | ⚡ Anytime Try $1.67 AI 86% ✓ Scored; 🎯 First Try $8.00 AI 26% ✗ Not first | 🏉 55' |
| 3 | Latrell Siegwalt | CE | 1 in 11g | 1/10g (0·0·0·0·0·0·0·1·0·0) | 0/0g | 0/3g | 10% | ⚡ Anytime Try $3.35 AI 22% ✗ No try | — |
| 4 | Jack Wighton | CE | 2 in 11g | 2/10g (0·1·0·1·0·0·0·0·0·0) | 3/24g | 6/23g | 22% | — | 🏉 8' |
| 5 | Campbell Graham | WG | 7 in 12g | 4/10g (0·0·0·2·0·1·0·0·1·0) | 8/12g | 27/58g | 34% | ⚡ Anytime Try $1.95 AI 47% ✓ Scored; 🎯 First Try $10.00 AI 8% ✓ Scored first | 🏉 2' 75' |
| 6 | Cody Walker | 5/8 | 7 in 16g | 5/10g (0·2·0·0·0·0·0·2·0·1) | 3/16g | 34/94g | 28% | — | — |
| 7 | Ashton Ward | HB | 1 in 10g | 1/10g (0·0·0·0·0·0·0·0·0·1) | 0/0g | 0/4g | 12% | — | — |
| 8 | Tevita Tatola | PR | 1 in 17g | 1/10g (0·0·0·0·0·0·0·0·1·0) | 0/12g | 6/67g | 8% | — | — |
| 9 | Brandon Smith | HK | 0 in 9g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 1/6g | 1/10g | 6% | — | 🏉 49' |
| 10 | Keaon Koloamatangi | PR | 1 in 17g | 1/10g (0·0·0·0·1·0·0·0·0·0) | 1/12g | 11/52g | 10% | — | — |
| 12 | Euan Aitken | 2R | 4 in 13g | 3/10g (0·1·1·0·0·0·1·0·0·0) | 5/16g | 6/22g | 22% | — | — |
| 13 | Lachlan Hubner | INT | 1 in 16g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/2g | 0/12g | 4% | — | — |
| 14 | Jayden Sullivan | RES | 0 in 13g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/4g | 0/9g | 2% | — | — |
| 15 | Jye Gray | RES | 3 in 14g | 1/10g (0·0·0·0·0·0·0·0·1·0) | 0/3g | 7/17g | 24% | — | — |
| 16 | Liam Le Blanc | INT | 0 in 9g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/2g | 0/12g | 2% | — | — |
| 17 | Jamie Humphreys | INT | 2 in 13g | 1/10g (0·0·0·0·0·1·0·0·0·0) | 0/2g | 1/11g | 12% | — | — |

**Storm** (team sheet)

| # | Player | Pos | 2026 | Last 10 | vs opp | Venue | Try % | Alphr play | This game |
|---|---|---|---|---|---|---|---|---|---|
| 1 | Sualauvi Faalogo | FB | 13 in 18g | 3/10g (1·1·0·0·0·0·1·0·0·0) | 1/3g | 0/2g | 40% | — | 🏉 38' |
| 2 | Siulagi Tuimalatu-Brown | WG | 0 in 10g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/0g | 0/0g | 0% | — | 🏉 17' |
| 3 | Jack Howarth | CE | 5 in 15g | 2/10g (0·0·0·0·1·0·0·0·1·0) | 0/4g | 0/5g | 22% | — | — |
| 4 | Nick Meaney | CE | 3 in 14g | 3/10g (0·2·0·0·0·0·0·0·1·0) | 0/13g | 7/25g | 26% | — | 🏉 70' |
| 5 | Moses Leo | WG | 8 in 11g | 7/10g (1·0·0·0·1·2·1·1·1·0) | 0/0g | 2/1g | 56% | ⚡ Anytime Try $1.88 AI 61% ✗ No try; 🎯 First Try $9.50 AI 21% ✗ Not first | — |
| 6 | Tyran Wishart | 5/8 | 1 in 13g | 1/10g (0·0·0·0·0·1·0·0·0·0) | 3/7g | 1/6g | 18% | — | 🏉 67' |
| 7 | Jahrome Hughes | HB | 3 in 15g | 2/10g (0·0·0·1·0·0·0·1·0·0) | 2/13g | 4/12g | 30% | ⚡ Anytime Try $3.25 AI 27% ✗ No try; 🎯 First Try $14.00 AI 7% ✗ Not first | — |
| 8 | Stefano Utoikamanu | PR | 2 in 18g | 2/10g (0·0·0·0·0·1·0·0·0·1) | 0/10g | 1/9g | 12% | — | — |
| 9 | Harry Grant | INT | 6 in 17g | 3/10g (0·0·1·1·1·0·0·0·0·0) | 2/11g | 2/9g | 32% | ⚡ Anytime Try $3.05 AI 21% ✗ No try; 🎯 First Try $14.00 AI 5% ✗ Not first | — |
| 10 | Josh King | PR | 2 in 18g | 2/10g (0·0·1·1·0·0·0·0·0·0) | 1/11g | 2/11g | 14% | — | — |
| 11 | Cooper Clarke | 2R | 2 in 18g | 1/10g (0·0·1·0·0·0·0·0·0·0) | 0/1g | 0/1g | 11% | — | — |
| 12 | Oryn Keeley | 2R | 0 in 12g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/5g | 0/1g | 8% | — | 🏉 25' |
| 13 | Trent Loiero | LK | 1 in 15g | 1/10g (0·0·0·0·0·1·0·0·0·0) | 0/8g | 0/6g | 10% | — | — |
| 14 | Trent Toelau | HK | 1 in 10g | 1/10g (0·0·0·0·0·0·1·0·0·0) | 0/2g | 0/2g | 9% | — | — |
| 15 | Alec MacDonald | INT | 1 in 14g | 1/10g (0·0·0·0·0·0·0·0·1·0) | 0/8g | 0/7g | 8% | — | — |
| 16 | Angus Hinchey | RES | 0 in 1g | 0/1g (0) | 0/0g | 0/0g | 0% | — | — |
| 17 | Jack Hetherington | INT | 0 in 13g | 0/10g (0·0·0·0·0·0·0·0·0·0) | 0/4g | 0/8g | 2% | — | — |

### Prediction Breakdown — Pure Alpha Model

**Team ELO Ratings** — Rabbitohs 1482 · Storm 1485 · ELO difference: 3 in favour of Storm

**Positional Matchups** — lineup ELO by unit

| Unit | Rabbitohs | Storm | Edge |
|---|---|---|---|
| Forwards | 966 | 980 | Storm +14 |
| Backs | 1000 | 947 | Rabbitohs +53 |
| Halves | 972 | 1024 | Storm +52 |
| Hooker | 956 | 958 | Storm +2 |

**Key Prediction Factors** — what the model weighted most

| # | Factor | Weight | Favours |
|---|---|---|---|
| 1 | ELO Difference | 14.0% | — |
| 2 | Forward Pack | 12.0% | — |
| 3 | Backline Quality | 10.0% | Rabbitohs |
| 4 | Halves Control | 9.0% | Storm |
| 5 | Recent Win Rate | 9.0% | Rabbitohs |
| 6 | Referee Tendency | 7.0% | — |
| 7 | Venue Advantage | 7.0% | Rabbitohs |

**Model Confidence: 57%** — Storm predicted to win by 1 points · Predicted total: 44 pts

**Record:** 1/4 match predictions correct

**Prediction by Alphr** (https://alphr.com.au) — free AI predictions for every AFL, NRL & Super League match, published before kick-off and never edited. Verified track record: https://alphr.com.au/accuracy

---
Canonical URL: https://alphr.com.au/nrl/match/2026-r21-rabbitohs-v-storm
RSS feed: https://alphr.com.au/feed.xml
Prediction JSON API: today https://alphr.com.au/api/predictions/today · this week https://alphr.com.au/api/predictions/weekly
Markdown view for AI agents. Machine-readable index: https://alphr.com.au/llms.txt · full reference: https://alphr.com.au/llms-full.txt
All predictions are published before kick-off and verified after full time. Free, no login. 18+ gamble responsibly (AU).
Last updated: 2026-07-24 11:57 UTC (latest tip update)