Advertisement
Saturday 7 Jun 2025
Loftus Versfeld, Pretoria
Tries
David Kriel 66'
Canan Moodie 21'
Sebastian de Klerk 7'
Ethan Hooker 52'
Makazole Mapimpi 44'
Conversions
Keagan Johannes 67'
Johan Goosen 8'
Penalties
Keagan Johannes 56'
Johan Goosen 35'
Jordan Hendrikse 26'
Show more
Timeline
End of Second Half
80'
Alulutho Tshakweni
Out: Jan-Hendrik Wessels
73'
Zak Burger
Out: Embrose Papier
73'
Jannes Kirsten
Out: Cobus Wiese
73'
Devon Williams
Out: Sebastian de Klerk
69'
Keagan Johannes
Conversion

67'
David Kriel
Try

66'
Bradley Davids
Out: Jaden Hendrikse
65'
Jan-Hendrik Wessels
Out: Alulutho Tshakweni
65'
Mornay Smith
Out: Wilco Louw
59'
Keagan Johannes
Penalty

56'
Phepsi Buthelezi
Out: Siya Kolisi
54'
Deon Slabbert
Out: Emile van Heerden
54'
Fez Mbatha
Out: Bongi Mbonambi
54'
Alulutho Tshakweni
Out: Jan-Hendrik Wessels
53'
Keagan Johannes
Out: Johan Goosen
53'
Akker van der Merwe
Out: Johan Grobbelaar
53'
Hanro Jacobs
Out: Vincent Koch
53'
Ntuthuko Mchunu
Out: Ox Nche
53'
Ethan Hooker
Try

52'
Marco van Staden
Out: Cameron Hanekom
48'
Makazole Mapimpi
Try

44'
Emmanuel Tshituka
Out: Corne Rahl
40'
Ruan Nortje
Out: Jannes Kirsten
40'
Start of Second Half
40'
End of First Half
41'
Marcell Coetzee
Yellow Card
39'
Jannes Kirsten
Out: Ruan Nortje
36'
Cameron Hanekom
Yellow Card
36'
Johan Goosen
Penalty

35'
Harold Vorster
Yellow Card
27'
Jordan Hendrikse
Penalty

26'
Canan Moodie
Try

21'
Johan Goosen
Conversion

8'
Sebastian de Klerk
Try

7'
Start of First Half
0'
Advertisement
Top Performers
Ball Carries
AE
A. Esterhuizen
Ball Carries: 16
Tackles
CW
C. Wiese
Tackles: 19
Points
EH
E. Hooker
Points: 5
Match Information
Saturday 7 Jun 2025
Loftus Versfeld, Pretoria
Tries
David Kriel 66'
Canan Moodie 21'
Sebastian de Klerk 7'
Ethan Hooker 52'
Makazole Mapimpi 44'
Conversions
Keagan Johannes 67'
Johan Goosen 8'
Penalties
Keagan Johannes 56'
Johan Goosen 35'
Jordan Hendrikse 26'
Show more
Timeline
End of Second Half
80'
Alulutho Tshakweni
Out: Jan-Hendrik Wessels
73'
Zak Burger
Out: Embrose Papier
73'
Jannes Kirsten
Out: Cobus Wiese
73'
Devon Williams
Out: Sebastian de Klerk
69'
Keagan Johannes
Conversion

67'
David Kriel
Try

66'
Bradley Davids
Out: Jaden Hendrikse
65'
Jan-Hendrik Wessels
Out: Alulutho Tshakweni
65'
Mornay Smith
Out: Wilco Louw
59'
Keagan Johannes
Penalty

56'
Phepsi Buthelezi
Out: Siya Kolisi
54'
Deon Slabbert
Out: Emile van Heerden
54'
Fez Mbatha
Out: Bongi Mbonambi
54'
Alulutho Tshakweni
Out: Jan-Hendrik Wessels
53'
Keagan Johannes
Out: Johan Goosen
53'
Akker van der Merwe
Out: Johan Grobbelaar
53'
Hanro Jacobs
Out: Vincent Koch
53'
Ntuthuko Mchunu
Out: Ox Nche
53'
Ethan Hooker
Try

52'
Marco van Staden
Out: Cameron Hanekom
48'
Makazole Mapimpi
Try

44'
Emmanuel Tshituka
Out: Corne Rahl
40'
Ruan Nortje
Out: Jannes Kirsten
40'
Start of Second Half
40'
End of First Half
41'
Marcell Coetzee
Yellow Card
39'
Jannes Kirsten
Out: Ruan Nortje
36'
Cameron Hanekom
Yellow Card
36'
Johan Goosen
Penalty

35'
Harold Vorster
Yellow Card
27'
Jordan Hendrikse
Penalty

26'
Canan Moodie
Try

21'
Johan Goosen
Conversion

8'
Sebastian de Klerk
Try

7'
Start of First Half
0'
Match Videos
Commentary
Advertisement
80’
Commentary
That is it for our live coverage of this gruelling South African derby. Thank you for following along with us. We hope you join us again next weekend for the final between the Bulls and Leinster in Dublin.
80’
Commentary
The Bulls will now travel to Dublin, where they will take on Leinster in the title-decider. It'll be the first time the final takes place outside of South Africa. As for the Sharks, this is the end of the road for them. Their season comes to a crashing halt.
80’
Commentary
FULL-TIME: BULLS 25-13 SHARKS. The Bulls steamroll the Sharks to book their place in a second consecutive URC final.
79’
Commentary
And the scrum penalty go to the Bulls,
79’
Commentary
The Sharks bash away at the Bulls line, but when they finally create an overlap and send the ball out wide to attack that space, there's a forward pass. You'd think that is the end of the contest. They absolutely had to score there. It's a 12-point game and we're into the final minute.
Advertisement
77’
Commentary
Fassi with a brilliant 50-22 kick fielded and fumbled by Johannes. It's now or never for the Sharks.
76’
Commentary
Willie le Roux overcooks his kick and puts it directly into touch. But the Bulls recover by stealing the ball at the lineout.
75’
Commentary
Brilliant interplay between Mapimpi and Fassi sees the Sharks move forward, but a knock on breaks up that play. Mapimpi then concedes a penalty and another further 10-metre march up field, again for backchatting to the referee. The Sharks can ill-afford this kind of behaviour.
73’
Commentary
Cobus Wiese can't keep hold of the ball and the Sharks are all over that loose ball. Jordan Hendrikse spots acres of space in behind the Bulls defence and kicks the ball there, but Le Roux races back to prevent a 50-22.
72’
Commentary
The Bulls will feed the lineout inside the 22 after Fassi's clearance kick didn't travel the desired distance.
Advertisement
71’
Commentary
Canan Moodie has been sensational in the air for the Bulls. The Sharks have no solution for the problems he is causing them.
70’
Commentary
Lukhanyo Am, who has looked lethargic tonight, just dropped the ball cold with the Sharks hot on attack. Now the possession is back with the Bulls.
69’
Commentary
Trailing by 12, the Sharks have it all to do now on enemy territory.
68’
Commentary
CONVERSION, BULLS, JOHANNES. 25-13.
67’
Commentary
TRY, BULLS, KRIEL. 23-13. Like a knife through butter, the Bulls backs slice through the Sharks defence to score. Papier started with move with a darting run, he offloaded to Wiese, who also stormed forward before freeing up Kriel to apply the finishing touches.
Advertisement
66’
Commentary
Keagan Johannes' penalty attempt is no good.
65’
Commentary
The Bulls are now rumbling forward with a maul. From there, they go to the air and Moodie chases and gathers the ball to retain possession for the hosts. Mapimpi is right there with him, but he plays the ball on the ground and then concedes a further 10m for shouting at the ref.
64’
Commentary
Mapimpi darlings down the left flank, but as he is brought down, Van Staden goes in over the ball and wins a penalty for the Bulls.
61’
Commentary
Ethan Hooker is simply magical. He always makes post-contact metres and he just pulled off a superb offload to keep a Sharks attack going. Unfortunately, the play breaks down a couple of phases later as the visitors are pinged for playing the ball on the ground.
60’
Commentary
We're into the final 20 minutes of this see-saw encounter.
Advertisement
58’
Commentary
The Sharks have been more direct in their play since the start of the second half and this approach has flayed the Bulls.
57’
Commentary
PENALTY, BULLS, JOHANNES. 18-13. The Bulls extend their lead to five.
56’
Commentary
The Bulls are fighting tooth and nail to get over the advantage in the face of stubborn Sharks defence. The referee spots the Sharks streaking offside and awards the penalty to the Bulls.
55’
Commentary
This game is opening up now. Emmanuel Tshituka breaks the line and goes on a scintillating solo run. He is eventually tracked down by de Klerk. Jaden Hendrikse is on hand to support him, but the scrumhalf's kick into space sits up for Keagan Johannes, who passes to Moodie, who in return chip kicks.
54’
Commentary
And score remains 15-13 as Jaden Hendrikse takes over the kicking duties from his brother Jordan, but also misses the conversion attempt.
Advertisement
53’
Commentary
TRY, SHARKS, HOOKER. 15-13. It's game on. Hooker steps inside the last Bulls defender to score the Sharks' second try of the night.
52’
Commentary
Lukhanyo Am dives for the line, but he is in touch. The Sharks still get a penalty and set a lineout.
51’
Commentary
The Sharks are looking more and more confident in their attacking play as this game wears on.
50’
Commentary
Hooker busts through the first tackler, but gets the ball ripped off him by Goosen.
49’
Commentary
Hanekom will play no further part in this game. He is taken off the field on the medical cart and has been replaced by Marco van Staden.
Advertisement
49’
Commentary
Oh this is not good for Cameron Hanekom, who is out on the ground with what looks like a serious injury.
48’
Commentary
The tables have turned and the Bulls are now the team under pressure.
47’
Commentary
The Bulls pepper the Sharks with high bombs, but Ethan Hooker does well to secure the ball in the air.
46’
Commentary
Jordan Hendrikse's kick is wide again.
45’
Commentary
TRY, SHARKS, MAPIMPI. 15-8. The Sharks use the full width of the field to stretch the Bulls defence, creating an overlap for Mapimpi to run in an easy try.
Advertisement
44’
Commentary
From the scrum, the Sharks go to their power runner Andre Esterhuizen.
43’
Commentary
The Sharks exhibit excellent handling skills with a sequence of offloads. But then Willie le Roux intervenes with an attempted intercept. He can't take the ball cleanly and knocks it on. Scrum for the Sharks.
42’
Commentary
The Sharks start the second half on the front-foot, with replacement Emmanuel Tshituka making a turnover.
41’
Commentary
KICK-OFF: Goosen restarts the game to get the second half underway.
40’
Commentary
HALF-TIME: BULLS 15-3 SHARKS. And the answer is an emphatic no, as the Bulls hold the Sharks ball-carrier up off the ground in the in-goal arena to go into the break 15-3 to the good.
Advertisement
40’
Commentary
Here come the Sharks again. Can they score this time?
40’
Commentary
The referee calls for an advantage again and once nothing comes off the Sharks' attacking endeavour, he blows his whistle and hands a third yellow card to the Bulls. This time Marcell Coetzee is send packing.
39’
Commentary
Now the Bulls are losing their heads. They concede a penalty and then the referee march them back 10 more metres for backchatting. The Sharks kick for touch. They want to play.
38’
Commentary
How did the Bulls survive that?! As the Sharks come charging in, David Kriel beats everyone to the breakdown and wins a sensational turnover penalty for the home side.
37’
Commentary
With yellow cards shown to Vorster and Hanekom, the Bulls are down to 13 players at the moment. The time to strike is now for the Sharks, who kick to the line.
Advertisement
37’
Commentary
The Sharks do well to win back the ball from their own restart. They are in possession within striking distance. The Bulls then concede a penalty and a yellow card as Cameron Hanekom is send off for foul play on Siya Kolisi.
36’
Commentary
PENALTY, BULLS, GOOSEN. 15-3.
35’
Commentary
Goosen will kick at goal.
34’
Commentary
The Bulls earn a penalty advantage, but they play on. There's a knock on, so the referee brings them back for the penalty.
33’
Commentary
The Bulls lineout may be malfunctioning, but their scrum is absolutely dominant. They just won another penalty at the set-piece. Goosen kicks to the line. Grobbelaar finally finds his jumpers.
Advertisement
32’
Commentary
Another Bulls lineout gets stolen by the Sharks. And another Sharks attack breaks down due to an unforced error, this time Lukhanyo Am is the guilty party for throwing a clear forward pass.
31’
Commentary
It's end-to-end stuff at Loftus. But apart from all the free-flowing running rugby on display, there's also been some big, crunching hits.
30’
Commentary
Jordan Hendrikse misses a second penalty attempt.
29’
Commentary
The lineout goes horribly wrong for the Bulls, but the Sharks then loose the ball as well. The Bulls kick it to Fassi, but Mapimpi tracks back and launches a counter attack. Harold Vorster then tackles Mapimpi, but plays the ball on the ground without releasing the player. Penalty to the Sharks, yellow card for Vorster.
28’
Commentary
Willie le Roux's little dink over the top bounces kindly for the chasing Goosen. But the latter's inside pass is intercepted by Lukhanyo Am, who turns around and hacks it down field.
Advertisement
27’
Commentary
PENALTY, SHARKS, JORDAN HENDRIKSE. 12-3.
25’
Commentary
The Bulls concede a penalty and the Sharks will line up another kick at goal.
24’
Commentary
The Sharks' Boks need to step up and take the initiative here. They are second best at the moment.
23’
Commentary
Goosen's conversion attempt is off target.
22’
Commentary
TRY, BULLS, MOODIE. 12-0. The Bulls score their second try after a poor clearance kick by Jaden Hendrikse. Tshituka had won a turnover on the ground for the Sharks, but Hendrikse slipped as he was about to kick the ball deep. de Klerk pounces on the ball and kicks to the other corner for Moodie to score.
Advertisement
21’
Commentary
Off the scrum, the Bulls go to Le Roux, who switches up play with de Klerk. But the latter runs into a brick ball.
20’
Commentary
From the 22 drop-out, Tshituka takes it up to the Bulls' defensive line with a barnstorming carry. But all his work is in vain as Kolisi drops the ball cold.
19’
Commentary
Jordan Hendrikse's get the distance on his long-range shot, but the direction is wayward.
18’
Commentary
Penalty to the Sharks, as Goosen is penalised for playing Jaden Hendrikse without the ball. The Sharks will kick at goal.
16’
Commentary
The Bulls go to the air again. Moodie leaps high and gets his hands up to knock it backwards. Unfortunately, there's no other Bulls player close by.
Advertisement
15’
Commentary
The up and under doesn't go according to plan for the Bulls as the Sharks pounce on the loose ball. But as they work the right side of the field, Fassi is bundled into touch.
13’
Commentary
Jaden Hendrikse puts the ball in and takes it out quickly to ease the pressure on his pack. They send the ball wide to Mapimpi, but they step into touch. And from the resultant lineout, the Bulls win a penalty.
12’
Commentary
The Sharks will scrum down again.
11’
Commentary
Bulls wing Sebastian de Klerk is having himself a game. He has been the best player on the park in these opening 10 minutes.
10’
Commentary
Jordan Hendrikse restarts the match with a deep kick-in. Papier executes a decent exit kick and the Bulls' chasers do well to pressurise the Sharks.
Advertisement
9’
Commentary
CONVERSION, BULLS, GOOSEN. 7-0.
8’
Commentary
TRY, BULLS, DE KLERK. 5-0. The Sharks couldn't capitalise on Tshituka's lineout steal, conceding possession and the Bulls score a superb try.
8’
Commentary
The Bulls kick for touch, but they can't hold onto possession as Tshituka steals it for the Sharks.
7’
Commentary
Nevermind, the try is no good. The entire Sharks backline was offside. The Bulls a relieving penalty. That is a big let-off for the hosts.
6’
Commentary
TRY, SHARKS., ETHAN HOOKER. 0-5. The Bulls simply shove the Sharks off their own ball at scrum time, but as they try to spread it wide quickly, Ethan Hooker reads play beautifully and intercepts the ball inside the 22 to score.
Advertisement
5’
Commentary
Willie le Roux is not enjoying the best start to this game. He just three a big forward pass, his third mistake since the start of the game.
4’
Commentary
The Sharks scrum retreats under immense pressure from the Bulls pack, but Hendrikse again manages to get the ball out. The Sharks are now attacking inside the 22.
3’
Commentary
That's a big scrum from the Bulls, but the Sharks manage to get the ball out and launch an attack of their through Mapimpi and Fassi. Willie le Roux is back to cover for the Bulls. He knocks on.
2’
Commentary
The Sharks secure the ball at the set-piece and go to the air immediately. The Bulls knock on.
1’
Commentary
And from the outset, the Bulls show their attacking intent with a solid run from de Klerk before Le Roux kick-passes to Moodie on the other wing. Unfortunately, the ball goes into touch. Lineout to the Sharks.
Advertisement
1’
Commentary
KICK OFF: Hendrikse gets the semi-final underway.
0’
Commentary
KICK OFF: Hendrikse gets the semi-final underway.
0’
History
The Bulls and Sharks will lock horns in this tantalising encounter to determine who will join Leinster in the 2025 URC final. If the Bulls win, it's be their second successive final and third overall. If the Sharks win, they advance to the title-decider for the first time ever.
0’
Commentary
Sharks: 15 Aphelele Fassi, 14 Ethan Hooker, 13 Lukhanyo Am, 12 Andre Esterhuizen, 11 Makazole Mapimpi, 10 Jordan Hendrikse, 9 Jaden Hendrikse, 8 Siya Kolisi (captain), 7 Vincent Tshituka, 6 James Venter, 5 Emile van Heerden, 4 Corne’ Rahl, 3 Vincent Koch, 2 Bongi Mbonambi, 1 Ox Nche.
Subs: 16 Fez Mbatha, 17 Ntuthuko Mchunu, 18 Hanro Jacobs, 19 Deon Slabbert, 20 Phepsi Buthelezi, 21 Emmanuel Tshituka, 22 Bradley Davids, 23 Yaw Penxe.
0’
Commentary
Bulls: 15 Willie le Roux, 14 Canan Moodie, 13 David Kriel, 12 Harold Vorster, 11 Sebastian de Klerk, 10 Johan Goosen, 9 Embrose Papier, 8 Cameron Hanekom, 7 Ruan Nortje (captain), 6 Marcell Coetzee, 5 JF van Heerden, 4 Cobus Wiese, 3 Wilco Louw, 2 Johan Grobbelaar, 1 Jan-Hendrik Wessels.
Subs: 16 Akker van der Merwe, 17 Alulutho Tshakweni, 18 Mornay Smith, 19 Jannes Kirsten, 20 Marco van Staden, 21 Zak Burger, 22 Keagan Johannes, 23 Devon Williams.
Advertisement
0’
Commentary
Bulls v Sharks, URC, 18:15
0’
Commentary
Hello and welcome to our live coverage of the highly anticipated URC semi-final clash between the Bulls and the Sharks.
See All
Top Performers
Ball Carries
AE
A. Esterhuizen
Ball Carries: 16
Tackles
CW
C. Wiese
Tackles: 19
Points
EH
E. Hooker
Points: 5
Advertisement
Match Information
Advertisement
Related Videos
Related News

URC returns with first SA derby and two Irish clashes
rugby

URC returns with first SA derby and two Irish clashes
rugby

It’s Ireland v South Africa part 2 in top-of-the-table clash
rugby

It’s Ireland v South Africa part 2 in top-of-the-table clash
rugby

Elrigh back after 10 months in surprise Bulls return
rugby

Elrigh back after 10 months in surprise Bulls return
rugby

Sharks seek the back-to-back that will stabilise URC challenge
rugby

Sharks seek the back-to-back that will stabilise URC challenge
rugby








