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.
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.
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
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.
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.
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.
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
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.
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
The Veldt uses essential cookies only — no tracking, no ad networks. See our Privacy Policy & Cookie Policy.