Your Team
Launch edition — spotted a bug or got feedback?
hello@veldt-rugby.com
Latest
INJURYAlex MitchellNorthampton Saints — out, remainder of the season
INJURYXavier SaifoloiCrusaders — out, season-ending
INJURYScott BarrettCrusaders — out, season-ending
INJURYHemopo CunninghamBlues — out, season-ending
INJURYJames CameronBlues — out, season-ending
INJURYMitch DrummondCrusaders — out, season-ending
INJURYToby BellCrusaders — out, season-ending
INJURYHugh CooneyLeinster — out, Season-ending
INJURYHenry RobertsonWestern Force — out, season-ending
INJURYJayden SaChiefs — out, season-ending
INJURYBilly SearleLeicester Tigers — out, Remainder of season
INJURYJack YeandleExeter Chiefs — out, remainder of the season
INJURYEthan HookerHollywoodbets Sharks — out, extended spell out
INJURYGabin VilliereRC Toulon — out, season-ending
INJURYBernard van der LindeBath Rugby — out, before end of season
INJURYSacha Feinberg-MngomezuluStormers — doubt
INJURYALEX NANKIVELMUNSTER — out
INJURYKwagga SmithSpringboks — out
INJURYGlen NewmanFijian Drua — out
INJURYFraser HannonFijian Drua — out
INJURYJames DolemanFijian Drua — out
INJURYFijian DruaFijian Drua — out
INJURYStar RedsFijian Drua — out
INJURYThe DruaFijian Drua — out
INJURYBut Queensland'sFijian Drua — out
INJURYThe RedsFijian Drua — out
INJURYThe Queensland RedsFijian Drua — out
INJURYQueensland RedsFijian Drua — out
INJURYCiaran FrawleyLeinster — out, N/A
INJURYJohn BryantQueensland Reds — out
INJURYCharlie GambleNSW Waratahs — out
INJURYFolau FaingaaNSW Waratahs — out
INJURYAustin DurbidgeNSW Waratahs — out
INJURYJimmy TupouMoana Pasifika — out
INJURYJordie BarrettHurricanes — out, 1 week
INJURYNgane PunivaiHurricanes — out, week-to-week
INJURYBilly VunipolaMontpellier — doubt
INJURYTommy O'BrienLeinster — doubt
INJURYAJ MacGintyBristol — return_pending, N/A
INJURYMcDermottReds — return_pending, N/A
INJURYDeon FourieStormers — return_pending, set to return to Cape Town for scans
INJURYTommy ReffellLeicester Tigers — return_pending
INJURYDuhan van der MerweEdinburgh Rugby — return_pending
INJURYJosh van der FlierLeinster Rugby — return_pending, graduated return-to-play protocol
INJURYRobbie HenshawLeinster Rugby — return_pending, graduated return-to-play protocol
TRANSFERSarah Beckettsigns for Sale Sharks
TRANSFERAoife Waferagreed a new deal with Harlequins Women; prop Hannah Duffy retiring.
TRANSFERSteven LuatuaSigns new deal into 10th season with Bristol Bears.
TRANSFERTommaso Menoncellojoins Stade toulousain, engaging until 2029.
TRANSFERHannah Dallavallere-signs with Gloucester-Hartpury
TRANSFERZoe Stratfordagreeing to join Sale Sharks, leaving Gloucester-Hartpury at the end of the season.
TRANSFERApete Narogojoin Toulon for several seasons, according to reports
TRANSFERZoe Stratfordjoins Sale Sharks.
INJURYAlex MitchellNorthampton Saints — out, remainder of the season
INJURYXavier SaifoloiCrusaders — out, season-ending
INJURYScott BarrettCrusaders — out, season-ending
INJURYHemopo CunninghamBlues — out, season-ending
INJURYJames CameronBlues — out, season-ending
INJURYMitch DrummondCrusaders — out, season-ending
INJURYToby BellCrusaders — out, season-ending
INJURYHugh CooneyLeinster — out, Season-ending
INJURYHenry RobertsonWestern Force — out, season-ending
INJURYJayden SaChiefs — out, season-ending
INJURYBilly SearleLeicester Tigers — out, Remainder of season
INJURYJack YeandleExeter Chiefs — out, remainder of the season
INJURYEthan HookerHollywoodbets Sharks — out, extended spell out
INJURYGabin VilliereRC Toulon — out, season-ending
INJURYBernard van der LindeBath Rugby — out, before end of season
INJURYSacha Feinberg-MngomezuluStormers — doubt
INJURYALEX NANKIVELMUNSTER — out
INJURYKwagga SmithSpringboks — out
INJURYGlen NewmanFijian Drua — out
INJURYFraser HannonFijian Drua — out
INJURYJames DolemanFijian Drua — out
INJURYFijian DruaFijian Drua — out
INJURYStar RedsFijian Drua — out
INJURYThe DruaFijian Drua — out
INJURYBut Queensland'sFijian Drua — out
INJURYThe RedsFijian Drua — out
INJURYThe Queensland RedsFijian Drua — out
INJURYQueensland RedsFijian Drua — out
INJURYCiaran FrawleyLeinster — out, N/A
INJURYJohn BryantQueensland Reds — out
INJURYCharlie GambleNSW Waratahs — out
INJURYFolau FaingaaNSW Waratahs — out
INJURYAustin DurbidgeNSW Waratahs — out
INJURYJimmy TupouMoana Pasifika — out
INJURYJordie BarrettHurricanes — out, 1 week
INJURYNgane PunivaiHurricanes — out, week-to-week
INJURYBilly VunipolaMontpellier — doubt
INJURYTommy O'BrienLeinster — doubt
INJURYAJ MacGintyBristol — return_pending, N/A
INJURYMcDermottReds — return_pending, N/A
INJURYDeon FourieStormers — return_pending, set to return to Cape Town for scans
INJURYTommy ReffellLeicester Tigers — return_pending
INJURYDuhan van der MerweEdinburgh Rugby — return_pending
INJURYJosh van der FlierLeinster Rugby — return_pending, graduated return-to-play protocol
INJURYRobbie HenshawLeinster Rugby — return_pending, graduated return-to-play protocol
TRANSFERSarah Beckettsigns for Sale Sharks
TRANSFERAoife Waferagreed a new deal with Harlequins Women; prop Hannah Duffy retiring.
TRANSFERSteven LuatuaSigns new deal into 10th season with Bristol Bears.
TRANSFERTommaso Menoncellojoins Stade toulousain, engaging until 2029.
TRANSFERHannah Dallavallere-signs with Gloucester-Hartpury
TRANSFERZoe Stratfordagreeing to join Sale Sharks, leaving Gloucester-Hartpury at the end of the season.
TRANSFERApete Narogojoin Toulon for several seasons, according to reports
TRANSFERZoe Stratfordjoins Sale Sharks.
Global Rugby. No Filter.
VELDT NOIR 10 MIN READ
United Rugby ChampionshipAffidea Stadium2026-05-08
Ulster Rugby
3838
Stormers
A hat-trick on the wing while your captain sits in the changing room is how you refuse to lose a game you should never have drawn.
Veldt Snapshot
Possession51% Ulster Rugby / 49% Stormers
Tries6 - 4
Turning Point8' — Iain Henderson red card
Key EdgeUlster's gainline win 73% after going to 14 men for 72 minutes
Stat That Tells The StoryUlster won 11 clean breaks with 14 players; Stormers won three with 15
The LineA hat-trick on the wing while your captain sits in the changing room is how you refuse to lose a game you should never have drawn.

3 DECIDING FACTORS

FINAL TAKE

Ulster Rugby played 72 minutes a man down and outcarried, outbroke and outfought a Stormers side six league places above them. They deserved the win. They got a draw because Nathan Doak gave away a penalty try in the final seconds and Stormers held 63% possession in the last ten minutes without creating anything close to the space Ulster had carved all afternoon. Werner Kok scored a hat-trick on the right wing with his captain watching from the tunnel. Mike Lowry ran 100 metres and orchestrated two tries. Sacha Feinberg-Mngomezulu scored 21 points and made Stormers look dangerous every time he touched the ball, but when Ulster shut him down in the final quarter, Stormers had no other ideas. This was not a draw that reflected the contest. Ulster found a way to win it until the last play of the match took it away.

PHASE PLAY & GAINLINE

Ulster won the gainline battle with 14 men and that tells you everything about how this match was fought.

Seventy-three per cent gainline success across 102 carries against a Stormers side that came into this fixture third in the table and 160 points clear on differential. Stormers posted 79% on their own carries but needed 121 of them to reach 498 metres while Ulster ran 533 off 102. The efficiency gap was brutal. Ulster's CER sat at 4.46 against Stormers' 2.9, and that two-man advantage Stormers held for 72 minutes never translated into front-foot dominance. Mike Lowry carried for 100 metres and beat two defenders in broken play. Zac Ward added 75 metres and six defenders beaten on the left edge. Nathan Doak orchestrated two tries from halfback with 50 metres and two assists, moving Ulster forward every time they recycled.

Stormers never found the same penetration outside Sacha Feinberg-Mngomezulu. The fly-half ran 75 metres, beat 11 defenders and carved two tries out of individual brilliance, but the rest of the backline contributed three clean breaks between them across 80 minutes. Evan Roos scored early from close range but managed 13 metres total. Imad Khan crossed for one try off 14 metres. Warrick Gelant and Damian Willemse combined for three turnovers conceded and two bad passes without delivering a single clean break. Ulster defended Feinberg-Mngomezulu tightly in the final 20 minutes and Stormers had nothing left to threaten with until Andrea Piardi awarded them a penalty try in the 79th minute.

Ulster's ruck efficiency hit 94% across 97 rucks. Stormers posted 96% across 113 but could not convert that marginal edge into attacking rhythm. The phase play belonged to the side a man short, and that imbalance defined the contest.

SET PIECE

Ulster's lineout operated at 100% success across seven throws. Stormers matched it across 12 of their own. Neither side lost a lineout all afternoon and neither side stole one. The scrum told a different story. Ulster won nine and lost two for 82% success while Stormers recorded zero won and zero lost, surrendering every scrum engagement to Ulster's pack. That imbalance gave Ulster platform ball they had no right to expect while playing 14 against 15, and they used it to attack off set piece rather than simply survive.

The maul count favoured Stormers five won from six attempts against Ulster's three from four, but neither side scored a maul try and the penalty count from maul infringements sat at one for Stormers and zero for Ulster. The set piece was not where this match turned. It was stable, professional and balanced enough that Ulster could compete without their captain in the second row for most of the game.

Lineouts (success) 7/7 (100%) 12/12 (100%) Scrums 9/11 0/0 Rucks (efficiency) 91/97 (94%) 109/113 (96%)

KICKING Kicks from hand 17 14 Kick/pass ratio 0.12 0.10

BREAKDOWN

Ulster won four turnovers and conceded 11. Stormers won six and conceded 16. The breakdown was a scrap and Stormers came out worse despite the numerical advantage.

Mike Lowry conceded three turnovers for Ulster, all in open play as he pushed the attack into dangerous positions. Werner Kok and Ethan McIlroy added one each alongside a bad pass apiece. The errors came from ambition rather than inaccuracy. Stormers' turnover count included three from Sacha Feinberg-Mngomezulu and three from Damian Willemse, both players who carried responsibility for distributing under pressure. Warrick Gelant added two bad passes and one turnover. Stormers lost 16 possessions across 121 carries, a rate that should have been punished harder than it was.

Ulster's tackle count reached 184 with 36 missed. Stormers recorded 141 with 31 missed. The missed tackle rate sat higher for Ulster but the raw volume told the story of a side defending for long stretches without their captain and still forcing Stormers into wide, patient phases that rarely threatened the tryline outside Feinberg-Mngomezulu's individual class. Eric O'Sullivan missed three tackles after coming on as a replacement but also made seven and scored the try that looked like winning the match in the 74th minute. Sacha Feinberg-Mngomezulu made five tackles and missed three, a defensive load that reflected how often Ulster targeted him in contact.

The breakdown was messy, physical and tilted narrowly toward Stormers on turnover count but not on outcome. Ulster defended it better than the scoreline suggested.

DEFENSIVE AUDIT

Ulster defended for long periods with 14 men and conceded four tries across 80 minutes. Two came from individual brilliance. One came from a penalty try in the final seconds. One came from close-range power. That is not a defensive collapse.

Sacha Feinberg-Mngomezulu's first try in the 13th minute was carved out of nothing in midfield. His second in the 63rd minute came off quick ruck ball and a missed tackle on the edge. Imad Khan's try in the 47th minute followed sustained pressure after Mike Lowry's score three minutes earlier. Evan Roos' try in the fifth minute came from forward momentum inside Ulster's 22. None of them exposed systemic failure. All of them punished moments rather than structure.

Ulster's missed tackle count of 36 across 184 attempts was high but not catastrophic given the time spent defending. Stormers missed 31 across 141 and allowed Ulster to score six tries, two more than they managed themselves. The defensive edge belonged to Ulster when the context of the red card is factored in. Stormers held 63% possession in the final ten minutes and could not score from open play. They required a penalty try to rescue the draw.

The defensive story was Ulster's refusal to break under numerical disadvantage and Stormers' inability to exploit it.

ATTACKING PATTERNS

Ulster's attack was built on width, tempo and individual quality in the back three. Stormers relied on Sacha Feinberg-Mngomezulu and could not find another playmaker when Ulster shut him down.

Werner Kok scored three tries on the right wing, all of them finished with precision in space Ulster created through quick ruck ball and distribution from Nathan Doak. Kok's 19 metres and three defenders beaten do not capture the accuracy of his finishing or the value of his positioning. Mike Lowry scored one try and assisted another while running 100 metres and beating two defenders in broken play. Zac Ward added a try on the left edge off 75 metres and six defenders beaten. Ulster's back three combined for five tries and the platform to win this match outright.

Stormers generated 142 passes to Ulster's 147 and ten offloads to Ulster's eight but could not convert that ball retention into clean breaks. Three across 80 minutes told the story of an attack that relied on one player to unlock defences and had no secondary threat when he was contained. Sacha Feinberg-Mngomezulu's 21-point haul and two tries kept Stormers in contention, but once Ulster tightened their defensive focus on him in the final quarter, Stormers resorted to width without purpose and phase play without penetration.

Ulster's kick-pass ratio sat at 0.12 against Stormers' 0.10. Both sides kept the ball in hand and both sides backed their ability to break down the opposition defence. Only one side managed it consistently. Ulster ran 17 kicks from hand to Stormers' 14, neither side leaning heavily on aerial contestation. The attacking pattern was direct, structured and effective for Ulster. For Stormers it was one-dimensional.

DISCIPLINE

Iain Henderson's red card in the eighth minute changed the match and cost Ulster the win they earned over the following 72 minutes. The card was issued by Andrea Piardi and Henderson faces a disciplinary hearing under standard citing protocol.

Ulster conceded six penalties across 80 minutes. Stormers conceded seven. The penalty count was even and neither side lost control of their discipline outside the two cards. Nathan Doak's yellow card in the 79th minute led directly to the penalty try that drew the match. Jurie Matthee received a yellow in the 74th minute for Stormers, reducing them to 14 men for six minutes during which Ulster scored Eric O'Sullivan's try to take a 38-31 lead.

The red card shaped everything. Ulster competed with 14 men for most of the match and still won the attacking battle. The yellow cards in the final six minutes swung momentum twice, first toward Ulster when Matthee was binned, then back to Stormers when Doak infringed and Piardi awarded the penalty try. Discipline was tight across both sides outside those three moments. The moments themselves decided the result.

Penalties conceded 6 7 Yellow cards 1 1 Red cards 1 0

PERSONNEL VERDICTS

Werner Kok delivered a hat-trick and two clean breaks on the right wing and refused to let Ulster lose this match. His finishing was clinical across three tries scored at 3, 27 and 68 minutes, and his seven tackles without a miss showed defensive commitment that matched his attacking output. This was a complete wing performance under the most difficult circumstances imaginable.

Sacha Feinberg-Mngomezulu scored 21 points, two tries and carved 75 metres with 11 defenders beaten, and none of it was enough to win the match for Stormers. His goalkicking was flawless at four from four conversions and one from one penalty goal, but his three turnovers conceded and three missed tackles exposed the pressure Ulster put him under when they targeted him in the final quarter. He carried Stormers for 60 minutes and could not do it for 80.

Mike Lowry ran 100 metres, scored one try, assisted another and conceded three turnovers in open play as he pushed Ulster into attacking positions that delivered points. His one missed tackle did not cost a try. His creative distribution and full-field vision gave Ulster the platform to attack from deep despite the numerical disadvantage.

Nathan Doak kicked four from six conversions, assisted two tries and ran 50 metres from halfback, controlling Ulster's tempo with accuracy until the 79th minute when his yellow card and the resulting penalty try cost Ulster the win. His eight-point contribution and two assists were decisive in building Ulster's lead. His final infringement was decisive in surrendering it.

Eric O'Sullivan came off the bench in the 53rd minute, made seven tackles, missed three and scored the try in the 74th minute that should have sealed the victory. His five metres in contact do not reflect the value of his close-range finish or the defensive shift he contributed across 27 minutes.

Evan Roos scored early for Stormers and contributed 13 metres across 80 minutes without finding another moment of impact. Imad Khan added one try off 14 metres and six tackles with two missed, a functional performance without the penetration Stormers needed from halfback.

WHAT THIS MEANS FOR THE SEASON

Ulster Rugby sit ninth in the table on 53 points after this draw. Stormers sit third on 61 points, eight clear but no longer dominant in the standings race. Ulster played 72 minutes a man down and outplayed a side six places above them in every attacking metric that matters. They conceded a draw in the final seconds that felt like a loss, but the performance was the best they have delivered this season under the most hostile circumstances imaginable.

Stormers relied on Sacha Feinberg-Mngomezulu for 21 points and two tries and had no attacking depth when Ulster shut him down. That is a problem heading into the final rounds of the season. They held 63% possession in the final ten minutes and could not score from open play. They required a penalty try to escape Belfast with a point. The draw keeps them in third place but the performance exposed their lack of a second playmaker and their inability to convert numerical advantage into scoreboard pressure.

Ulster's season hinges on whether they can replicate this intensity without the motivation of injustice. Stormers' season hinges on finding an attacking identity that does not collapse when one player is contained. Both sides took a point. Only one of them deserved it.

STATS TABLE

Ulster Rugby Stormers ATTACK Possession 51% 49% Territory — — Carries · Metres 102 · 533 m 121 · 498 m Gain line % 73% 79% Clean breaks · Defenders beaten 11 · 31 3 · 36 CER 4.46 2.90

DEFENCE Tackles (missed) 184 (36) 141 (31) Turnovers (won / conceded) 4 / 11 6 / 16

CARRY EFFICIENCY RATING · CER
4.462.90
CER — Carry Efficiency Rating: a Veldt proprietary metric that measures how much impact a team generates per run, combining metres gained, clean breaks, defenders beaten and offloads while penalising turnovers conceded.
ATTACK
POSSESSION
51%49%
CARRIES
123142
METRES
533498
GAIN LINE
73%79%
CLEAN BREAKS
113
DEFENDERS BEATEN
3136
OFFLOADS
810
DEFENCE
TACKLES
184141
MISSED TACKLES
3631
TURNOVERS WON
46
TURNOVERS CONCEDED
1116
SET PIECE
LINEOUT SUCCESS
100%100%
SCRUM SUCCESS
82%
RUCK EFFICIENCY
94%96%
MAUL SUCCESS
75%83%
KICKING & DISCIPLINE
KICKS FROM HAND
1714
PENALTIES CONCEDED
67
YELLOW CARDS
11
RED CARDS
10
SHOW ALL STATS ▾
BALL POSSESSION LAST 10 MINS
0.370.63
CARRIES CROSSED GAIN LINE
7496
CARRIES METRES
533498
CARRIES NOT MADE GAIN LINE
2825
CLEAN BREAKS
113
CONVERSION GOALS
44
DEFENDERS BEATEN
3136
KICKS FROM HAND
1714
LINEOUT SUCCESS
1.001.00
LINEOUT WON STEAL
00
LINEOUTS LOST
00
LINEOUTS WON
712
MAULS LOST
11
MAULS TOTAL
46
MAULS WON
35
MAULS WON PENALTY
01
MAULS WON TRY
00
MISSED CONVERSION GOALS
20
MISSED PENALTY GOALS
00
MISSED TACKLES
3631
OFFLOAD
810
PASSES
147142
PC POSSESSION FIRST
0.570.43
PC POSSESSION SECOND
0.450.55
PENALTIES CONCEDED
67
PENALTY GOALS
01
POSSESSION
0.510.49
RED CARD SECOND YELLOW
00
RED CARDS
10
RUCKS LOST
64
RUCKS TOTAL
97113
RUCKS WON
91109
RUNS
123142
SCRUMS LOST
20
SCRUMS SUCCESS
0.820.00
SCRUMS WON
90
TACKLES
184141
TURNOVERS CONCEDED
1116
TURNOVERS WON
46
YELLOW CARDS
11
Weekend Brief
Rugby in your inbox. No noise.
Scores, talking points, and a few opinions — every week from The Veldt.
Subscribe Free →