A late change to Ulster’s starting XV saw Sam Crean replace Callum Reid in the front row due to illness.
It was a strong start for the home side as they secured two early tries within the opening 15 minutes.
Strong hands from Cardiff’s second row pairing of George Nott and Rory Thornton allowed Nott to get over the line just seven minutes in. Leigh Halfpenny successfully added the conversion.
Shortly after, 19-year-old, Tom Bowen, grounded the ball in the corner for the Welsh side’s second try of the evening.
After a TMO review for a potential knock on by Halfpenny, the on-field decision of a try was given by Evan Urruzmendi, as he determined the ball went off Ulster’s Ben Carson’s head and didn’t make contact with Halfpenny’s hand.
Halfpenny sent the conversion wide, bringing the score to 12-0 for the home side.
Coming off the bench at 16 minutes, it was a debut in the Ulster jersey for Bradley McNamara, as he replaced Stewart Moore for a blood substitution, a big milestone for the Instonian full-back.
Tom Stewart, who captained the province for the first time, had a big impact on the control and tempo of the game. After further pressured phases by Cardiff, he won a penalty for Ulster with a strong turnover.
Around 21 minutes in, the hooker was over the line for Ulster’s first try of the evening. Stewart broke away from the rolling maul and with power and a pirouette, he crashed over the line. Jake Flannery added the extra two points from out wide.
A series of penalties and some scrappy play from both sides unfolded and it was further frustration for Ulster as Dave McCann was held up over the line, with ten minutes left on the clock of the first half.
A potential high shot by Ben Thomas on James Hume was looked at, but referee Urruzmendi said there was no foul play, and it was play on.
With Cardiff looking dangerously close to a third try as Tom Bowen raced down the right wing and offloaded to Harri Millard, who tried to find Aled Davies - a crucial move was made by Jake Flannery who managed to win the ball back for Ulster.
There was no stopping James Hume and his explosive pace, as he soared down the pitch and grounded the ball unchallenged. The try came off the back of a failed offload between Ben Thomas and Callum Sheedy, as the ball slipped through Sheedy’s hands. Flannery kicked the conversion successfully and edged the visiting side ahead narrowly at the break.
HT: Cardiff 12-14 Ulster
Having shown composure to come back from Cardiff’s pressure in the first half, a big second half was needed by Ulster and they did just that.
The half-back pairing of Conor McKee and Jake Flannery worked the ball beautifully. Flannery, at the heart of the action once again, popped the ball off to Stewart Moore, who passed to Werner Kok, and the winger grounded the ball for their third try of the night.
The conversion by Flannery went just wide of the post, but the score was 12-19 five minutes into the second half.
The first Ulster changes of the night came just shy of the 50-minute mark, with Juarno Augustus, Cormac Izuchukwu and Angus Bell coming on for Charlie Irvine, Sam Crean and Sean Reffell.
The visiting side remained patient and composed, and they worked through the phases.
It paid off, as a stunning offload from Flannery to Kok, saw the winger dive over the line and ground the ball with one hand. It was a second try of the night from Werner Kok and the bonus point secured by Ulster.
Just shy of the hour mark, Leigh Halfpenny made way for Cam Winnett. Cardiff Arms Park erupted with cheers as it was a first outing in Cardiff colours in more than 11 years for the former Wales and British and Irish Lions fullback.
With 15 minutes left on the clock, replacement prop, Danny Southworth, crashed the ball down at the base of the post. Sheedy added the conversion for Cardiff and it was game on, as the score became 19-26.
A James Botham challenge on Zac Ward left the Ulster men unhappy. Yellow cards were then shown to Harry Sheridan and James Botham for starting a scuffle, bringing both sides down to 14 men.
Five minutes later, it was a second yellow card for Ulster, as Ben Carson was sent to the sin bin for a deliberate knock on.
A costly mistake in discipline allowed the home side to capitalise and the forwards got Dan Thomas over the line. Callum Sheedy kicked the conversion successfully and brought the score to 26-26.
All the momentum seemed to be with Cardiff, but Angus Bell was off the bench and won his new side a crucial scrum, with four minutes left on the clock.
However, the referee’s whistle blew and it was a penalty to Cardiff as the clock was about to turn red. Callum Sheedy set up, pointed to the post and slotted the ball right over, with his side celebrating from the moment it left his boot.
The dramatic last-gasp penalty brought the game to end, with Cardiff taking the win. This result means Richie Murphy’s side will return home from Cardiff with two more points in Pool Three.
FT: Cardiff 29-26 Ulster
Scorers
Ulster
TRY: Stewart, Hume, Kok x2
CON: Flannery x3
Cardiff
TRY: Nott, Bowen, Southworth, Thomas
CON: Halfpenny, Sheedy x2
PEN: Sheedy
Teams
Ulster: 1. Sam Crean, 2. Tom Stewart (Capt), 3. Tom O’Toole, 4. Harry Sheridan, 5. Charlie Irvine, 6. David McCann, 7. Sean Reffell, 8. Bryn Ward, 9. Conor McKee, 10. Jake Flannery, 11. Zac Ward, 12. Ben Carson, 13. James Hume, 14. Werner Kok, 15. Stewart Moore
Replacements: 16. John Andrew, 17. Angus Bell, 18. Rory McGuire, 19. Cormac Izuchukwu, 20. Juarno Augustus, 21. David Shanahan, 22. James Humphreys, 23. Bradley McNamara
Cardiff: 1. Rhys Barratt, 2. Daf Hughes, 3. Keiron Assiratti, 4. George Nott, 5. Rory Thornton, 6. James Botham, 7. Alun Lawrence (Capt), 8. Dan Thomas, 9. Aled Davies, 10. Callum Sheedy, 11. Tom Bowen, 12. Ben Thomas, 13. Harri Millard, 14. Josh Adams, 15. Leigh Halfpenny
Replacements: 16. Evan Lloyd, 17. Danny Southworth, 18. Sam Wainwright, 19. Josh McNally, 20. Alex Mann, 21. Ellis Bevan, 22. Jacob Beetham, 23. Cam Winnett
Attendance: 6,425
Referee: Evan Urruzmendi (FRA)
Assistant Referees: Pierre-Baptiste Nuchy (FRA) and Anthony Lac (FRA)
TMO: Eric Gauzins (FRA)