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 ChampionshipLoftus Versfeld2026-05-09
Bulls
5419
Zebre Parma
The Bulls won the gainline 109 times out of 129 carries — that is not rugby, that is a battering ram dressed in analysis.
Veldt Snapshot
Possession55% Bulls / 45% Zebre Parma
Tries8 - 3
Turning PointWillie le Roux try and conversion, 2nd and 3rd minutes
Key EdgeGainline success — 84% Bulls, 63% Zebre Parma
Stat That Tells The StoryBulls scored eight tries despite holding only 42% possession in the final ten minutes; Zebre Parma conceded 27 missed tackles and never stopped bleeding metres.
The LineThe Bulls won the gainline 109 times out of 129 carries — that is not rugby, that is a battering ram dressed in analysis.

3 DECIDING FACTORS

FINAL TAKE

The Bulls did what fourth-placed sides do to bottom-placed opposition at altitude — they turned structural advantage into scoreboard cruelty. Zebre Parma competed in spells, found three tries, and held 58% possession in the closing ten minutes, but none of it mattered because the defensive line had been broken long before. Cameron Hanekom carried for 106 metres and six defenders beaten from the back row; that single performance tells you everything about the physical mismatch. The Bulls move to 63 league points with one round remaining and a playoff berth all but secured. Zebre Parma finish the season where they started it — last, and searching for answers that cannot be found in effort alone.

PHASE PLAY & GAINLINE

The Bulls won this match in the first two phases of every possession.

Gainline success sat at 84% across 129 carries. That is not a percentage — that is a directive. Zebre Parma's defensive line held its shape for the first collision, then fractured under the second and third. The Bulls made 881 metres and beat 27 defenders because they never had to work for go-forward. Every ruck was clean, every recycle was fast, and every next carrier found soft shoulders or retreating hips.

Zebre Parma managed 63% gainline success from 71 carries and 236 metres. Respectable numbers in isolation, meaningless in context. They needed to slow the Bulls down at source — at the ruck, at the tackle, at the offload — and never managed it. The Bulls won 81 of 84 rucks at 96% efficiency. Zebre Parma won all 55 of theirs but only arrived at 55 because they could not sustain phases long enough to build pressure.

The clearest measure of control was not possession but what each side did with it. The Bulls turned 55% possession into eight tries. Zebre Parma held 45% and found three, two of them after the contest was already decided. Cameron Hanekom carried for 106 metres from number eight. Canan Moodie ran for 92 metres from outside centre. The gainline was not contested — it was conceded.

SET PIECE

The Bulls controlled their own ball and stole Zebre's when it mattered.

Lineout success sat at 100% — 14 from 14 — with one steal recorded. Zebre Parma managed 90%, losing one of ten, and could not generate the same launching platform. The Bulls used their set piece to attack width immediately. Sergeal Petersen scored in the 29th minute after a lineout exit that never gave Zebre time to reset. Harold Vorster's 68th-minute try came off quick lineout ball that isolated the Italian defence on the edges.

Scrums were less dominant but still tilted in the Bulls' favour. Eight won from nine attempts at 89% success. Zebre Parma matched them percentage-wise at 91% — ten from eleven — but could not convert that parity into attacking position. The one scrum the Bulls lost came early and cost nothing. The one Zebre Parma lost came in the second half and handed the Bulls another attacking platform inside the Zebre 22.

Maul defence from the Bulls was clinical. Zebre Parma recorded one maul try in the data but could not build sustained maul pressure across the match. The Bulls used their own maul sparingly — one from one — and did not need it. When your backline carries for 881 metres, you do not need to grind.

Lineouts (success) 14/14 (100%) 9/10 (90%) Scrums 8/9 10/11 Rucks (efficiency) 81/84 (96%) 55/55 (100%)

KICKING Kicks from hand 16 19 Kick/pass ratio 0.08 0.17

BREAKDOWN

The Bulls did not need to win turnovers because they never lost contact with the ball.

Two turnovers won across 80 minutes tells you everything about how controlled their phase play was. They conceded 21 turnovers but spread them across 129 carries — a ratio that never hurt them because the scoreboard was already out of reach. Canan Moodie conceded four turnovers and three bad passes, yet still ran for 92 metres and scored in the 13th minute. That is the margin this match afforded.

Zebre Parma won six turnovers and could not capitalise on any of them. Their problem was not the breakdown contest — it was what happened after they won it. Fourteen turnovers conceded from 71 carries is a poor ratio, but the real damage was done in the tackle, where 27 missed attempts let the Bulls recycle before Zebre could even set their defensive line.

Jacopo Trulla missed two tackles and still scored in the 19th minute. Martin Roger conceded three bad passes and two turnovers and still converted twice. Individual errors did not decide this match because the system around them had already failed.

DEFENSIVE AUDIT

Zebre Parma made 141 tackles and missed 27 — that is the entire match in one line.

The Bulls beat 27 defenders and made nine clean breaks. Zebre Parma's defensive structure was present in theory and absent in execution. The first-up tackle succeeded often enough to suggest effort was not the issue. The problem was the second and third phases, where isolated defenders faced multiple runners with no effective drift or inside support. Cameron Hanekom beat six defenders from the back of a scrum or ruck because no one was there to cover the inside shoulder.

The Bulls made 85 tackles and missed nine. They did not need to make more because Zebre Parma could not build sustained attacking phases. The Italian side held 51% possession in the second half and 58% in the final ten minutes, yet only managed one try in that period — Thomas Dominguez in the 58th minute. Possession without penetration is just dignified waiting.

Sergeal Petersen missed one tackle and beat three defenders. That single missed tackle cost nothing because the defensive system around him was sound. Zebre Parma missed 27 and paid for every one of them.

ATTACKING PATTERNS

The Bulls attacked the edges and the middle with equal ruthlessness.

Willie le Roux scored in the second minute, converted his own try in the third, and finished with seven conversions from eight attempts and 19 points. That early score set the rhythm — quick ruck ball, runners in motion, and a playmaker who never let the tempo drop. Canan Moodie's 13th-minute try came off a clean break that started from a lineout inside the Bulls' half. The space was there because Zebre Parma's defensive line was already stretched.

The Bulls used 17 offloads to keep the ball alive in contact and prevent Zebre Parma from resetting. Sergeal Petersen and Harold Vorster each recorded an assist alongside their tries. The width and depth of the attacking shape forced Zebre to choose between defending the edge and covering the middle — they managed neither.

Zebre Parma's attacking patterns were more direct and less effective. Six offloads and nine defenders beaten suggests ambition, but 236 metres from 71 carries is a poor return. Giampietro Ribaldi scored on the stroke of halftime from a maul try, and Thomas Dominguez found space in the 58th minute when the Bulls had already emptied their bench. Those tries were real, but they were never threatening.

The kick-pass ratio tells the story. The Bulls sat at 0.08 — 16 kicks from hand against 197 passes. Zebre Parma managed 0.17 — 19 kicks against 114 passes. Both sides wanted to move the ball, but only one had the platform and the pace to make it count.

DISCIPLINE

Neither side lost control, but the Bulls played with more precision under pressure.

Nine penalties conceded by the Bulls, six by Zebre Parma. No yellow cards, no red cards, no moments where the contest turned on indiscipline. The Bulls could afford to give away penalties because they were never defending their own line for long enough to be punished. Zebre Parma conceded fewer penalties but gained nothing from it because their defensive system could not hold.

The Bulls' penalty count rose in the final quarter as the bench cleared and fresh legs tested the offside line, but by then the score was 40-19 and the contest was over. Zebre Parma played within the laws and still conceded 54 points. That is not a discipline problem — that is a depth problem.

Penalties conceded 9 6 Yellow cards 0 0

PERSONNEL VERDICTS

Willie le Roux ran this match from first whistle to last. One try, seven conversions from eight, 54 metres, and eight tackles without a miss. He controlled tempo, kicked intelligently, and never let Zebre Parma settle into any defensive rhythm. His conversion in the third minute set the tone — clinical under no pressure, which became clinical under scoreboard pressure as the tries kept coming.

Cameron Hanekom delivered the standout individual performance. 106 metres, six defenders beaten, one clean break, nine tackles with one miss, and a try in the 62nd minute that put the result beyond any remaining doubt. He carried from the base of the scrum like a centre and tackled like a flanker. This was the kind of performance that wins playoff matches, delivered in a regular-season fixture that never required it.

Canan Moodie ran for 92 metres, beat two defenders, made a clean break, and scored in the 13th minute. He also conceded four turnovers and three bad passes. That combination of production and error defines a player still learning when to release and when to hold. The try and the metres mattered more than the mistakes because the Bulls' system absorbed the latter without consequence.

Sergeal Petersen scored in the 29th minute, recorded an assist, ran for 52 metres, and beat three defenders. He missed one tackle, which went unpunished. His pace on the edge gave the Bulls an outlet every time the middle tightened, and his assist for one of the later tries showed awareness beyond his own finish line.

Harold Vorster and Cheswill Jooste both scored, both contributed, and both played within the structure that le Roux and Hanekom had already established. Vorster added 38 metres and a clean break; Jooste ran for 56 metres and beat two defenders before making way for Stedman Gans at halftime. Ruan Vermaak and Jeandre Rudolph came off the bench and scored in the 48th and 76th minutes respectively — tries that underlined the depth gap between these two sides.

For Zebre Parma, Jacopo Trulla scored in the 19th minute and ran for 25 metres with a clean break. He missed two tackles in a defensive system that could not afford any misses. Martin Roger converted twice from two attempts but also conceded three bad passes and two turnovers. Giampietro Ribaldi scored from a maul try on the stroke of halftime, a moment of genuine quality in a match otherwise defined by the opposition's excellence. Thomas Dominguez scored in the 58th minute when the Bulls' bench had rotated and the intensity had dropped. It was a well-taken try in a context that no longer mattered.

WHAT THIS MEANS FOR THE SEASON

The Bulls move to 63 league points with one fixture remaining and a top-four finish all but confirmed. They have now scored 90 tries in 19 matches and hold a points difference of plus-195. This was not a statement performance because no statement was required — it was simple execution against opposition that could not match the physicality or the pace. The playoff fixtures will ask harder questions. This match provided no answers.

Zebre Parma finish the season with 15 league points from 19 matches, a points difference of minus-310, and 46 tries conceded in their last five fixtures. They competed in moments, found three tries, and never stopped working, but the gap between effort and output remains unbridgeable. The structural issues are obvious — a defensive system that cannot hold under sustained pressure, a forward pack that lacks the depth to compete across 80 minutes, and a backline that creates opportunities it cannot convert. This was their 16th loss in 18 matches. The season ends next week, and the questions remain the same.

STATS TABLE

Bulls Zebre Parma ATTACK Possession 55% 45% Territory — — Carries · Metres 129 · 881 m 71 · 236 m Gain line % 84% 63% Clean breaks · Defenders beaten 9 · 27 5 · 9 CER 3.98 1.69

DEFENCE Tackles (missed) 85 (9) 141 (27) Turnovers (won / conceded) 2 / 21 6 / 14

CARRY EFFICIENCY RATING · CER
3.981.69
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
55%45%
CARRIES
14174
METRES
881236
GAIN LINE
84%63%
CLEAN BREAKS
95
DEFENDERS BEATEN
279
OFFLOADS
176
DEFENCE
TACKLES
85141
MISSED TACKLES
927
TURNOVERS WON
26
TURNOVERS CONCEDED
2114
SET PIECE
LINEOUT SUCCESS
100%90%
SCRUM SUCCESS
89%91%
RUCK EFFICIENCY
96%100%
MAUL SUCCESS
100%100%
KICKING & DISCIPLINE
KICKS FROM HAND
1619
PENALTIES CONCEDED
96
YELLOW CARDS
0·0
SHOW ALL STATS ▾
BALL POSSESSION LAST 10 MINS
0.420.58
CARRIES CROSSED GAIN LINE
10945
CARRIES METRES
881236
CARRIES NOT MADE GAIN LINE
2026
CLEAN BREAKS
95
CONVERSION GOALS
72
DEFENDERS BEATEN
279
KICKS FROM HAND
1619
LINEOUT SUCCESS
1.000.90
LINEOUT WON STEAL
10
LINEOUTS LOST
01
LINEOUTS WON
149
MAULS LOST
00
MAULS TOTAL
14
MAULS WON
14
MAULS WON PENALTY
01
MAULS WON TRY
01
MISSED CONVERSION GOALS
11
MISSED PENALTY GOALS
00
MISSED TACKLES
927
OFFLOAD
176
PASSES
197114
PC POSSESSION FIRST
0.600.40
PC POSSESSION SECOND
0.490.51
PENALTIES CONCEDED
96
PENALTY GOALS
00
POSSESSION
0.550.45
RED CARD SECOND YELLOW
00
RED CARDS
00
RUCKS LOST
30
RUCKS TOTAL
8455
RUCKS WON
8155
RUNS
14174
SCRUMS LOST
11
SCRUMS SUCCESS
0.890.91
SCRUMS WON
810
TACKLES
85141
TURNOVERS CONCEDED
2114
TURNOVERS WON
26
YELLOW CARDS
00
Weekend Brief
Rugby in your inbox. No noise.
Scores, talking points, and a few opinions — every week from The Veldt.
Subscribe Free →