Two tries in four minutes did the damage as a spirited and ambitious Cardiff were unable to take the spoils in an entertaining BKT United Rugby Championship encounter against Vodacom Bulls.
Embrose Papier and Sebastian De Klerk both crossed early in the first-half but Cardiff battled back through Mason Grady.
Rey Lee-Lo claimed a second try but the Bulls kept their noses just in front in front of a 6,113 crowd at the Arms Park.
Willis Halaholo led the team out with his wife and five daughters, on his 100th appearance for the club and given the injuries he has overcome to pull on the blue and black again, he received a rapturous applause.
An immaculately observed Remembrance Ceremony was observed ahead of kick-off with the Last Post played and a wreath of poppies laid by Sir Gareth Edwards.
Cardiff made an assured start at the Arms Park but soon found themselves down 12 points after the Bulls struck for two tries in four minutes.
The first was a stunning effort, which Cardiff could have little to complain about as Gans Stedman skipped inside one defender before offloading our o contact to David Kriel. The centre had plenty of space and he chipped ahead of Jacob Beetham for Embrose Papier to collect and score.
The second however was a disappointing hammer blow as Cardiff failed to recover loose ball. Sebastian De Klerk hacked through from the halfway line and with no one at home, it was an easy finish.
It was a sucker-punch for the Blue and Blacks and as much as they hammered at the Bulls, they were matched by a physical defence. Halaholo, Harri Millard, Lopeti Timani and Corey Domachowski particularly effective.
To their credit, Cardiff displayed plenty of patience and they got their reward when Mason Grady finished a fine team try. Following a succession of phases, the home side broke to the left with Tinus de Beer receiving the ball out the back from some slick Halaholo hands.
He squeezed to the outside of the South African defence before sending Grady over in the corner.
De Beer was unable to add the touchline conversion but Cardiff could take confidence from the way they broke the sizeable Bulls down after such a double-blow.
The Bulls pressed for a third try in the closing stages of the half, rumbling towards the try line with a driving lineout. Cardiff held firm however, and when the Bulls returned to the corner with a penalty, the Blue and Blacks snatched a penalty of their own.
The score remained 5-12 at the break but Chris Smith added a penalty shortly after the restart to give his side a ten-point advantage.
With 52 minutes on the clock, Cardiff took a major stride back into the game thanks to the quick thinking of Rey Lee-Lo.
At the back of a ruck on the Bulls twenty-two he used his giant hands to pluck the ball from his back foot to race clear.
De Beer knocked over the simple conversion to bring the Blue and Blacks within three. They continued to show plenty of endeavour and almost struck from inside their own twenty-two.
Following a fine turnover from Seb Davies, Tomos Williams slung a long ball to Halaholo. With a hitch-kick and pass he released Lee-Lo, who fed Harri Millard to tear up the right.
Millard scorched forward and attempted a long offload inside but the support was unable to collect. Cardiff came back for a penalty after replays showed Lee-Lo pulled out of support and after kicking downfield and attacking with a sweeping move to the left, Grady was tackled into the corner.
Cardiff continued to threaten in attack but the Bull clung on and almost broke clear. Grady then saved the day with a fine covering tackle but Cardiff were harshly penalised at the breakdown when the entire Arms Park called a turnover penalty the other way.
Smith knocked over the points to make it 12-18 to the visitors and despite late pressure from the Blue & Blacks, were able to cling on to victory.