Number eight Robbie Diack was the star of the first-half as Ulster looked set to continue their recent impressive form and avoid a RaboDirect PRO 12 clean sweep in Wales this season.
Diack scored a try after only 19 minutes as Ulster, who had only lost once in their last five games prior to their trip to the Cardiff Arms Park, dominated the opening half but struggled after the break.
Despite missing a number of star names away on international duty in the Six Nations - Cardiff still had the luxury of welcoming back Lloyd Williams, Scott Andrews and Gavin Henson, plus the recently retired Scotland international Dan Parks.
But the injection of star names did little to kick-start Cardiff as Ulster dominated the opening 40 minutes.
Diack stole the show early as off the back of a scrappy lineout - the number reacted quickest to kick-on towards the Cardiff try-line, before outpacing number nine Williams to touchdown under pressure.
Ruan Pienaar, who had earlier kicked Ulster ahead after only 12 minutes, missed the conversion though.
Parks kept Cardiff in touch with two successful penalties on 22 and 40 minutes, with Pienaar adding his second kick of the evening in between.
In windy conditions, both sides struggled to assert themselves in the opening 40 minutes, with Ulster continually penalised at the breakdown, despite dominating up front and they were unfortunate to only lead 11-6 at the break.
A disastrous start to the second-half saw Cardiff get a foothold back in the game as Ulster failed to deal with the restart kick.
After Ben Blair so nearly went over for Cardiff after a break by Richard Mustoe, Parks eventually went over in the corner within minutes of the restart to make the score 11-11, although the Scot did miss his attempt to add the extras.
The score seemed to reignite Cardiff though as the ever-reliable Parks started to dominate proceedings with his expert kicking ability, pinning Ulster back into their own half.
In difficult conditions Ulster were forced to turn down a penalty attempt after 51 minutes to retake the lead and instead kicked for touch but nothing came from the lineout despite a successful take from Dan Tuohy and a subsequent aggressive drive from the visitors' pack.
On 55 minutes Parks was very nearly penalised as his kick in his own 22 was charged down by Ulster and the rebound kindly bounced back into the veteran number ten's hands.
As Ulster looked to ruck the ball back their way - Cardiff withstood heavy pressure on their own line and eventually picked up a pressure relieving penalty that Parks cleared as the visitor's were penalised for the 11th time.
Cardiff took the lead for the first time in the 59th minute as prolific winger Tom James scored his 36th try for the Blues, taking advantage of a potential forward pass to run in from the 22 unopposed - with Parks adding the extras with the boot.
Ulster's evening took a turn for the worse on 65 minutes as fly-half Ian Humphreys was sin-binned for a deliberate knock-on but fortunately for the visitors Parks was unable to knock over a straight forward penalty for the offence.
Cardiff were now in total control and on 68 minutes won another penalty decision at scrum-time, with Parks this time adding the three points to effectively take the game away from Ulster.
Just two minutes later it was Ulster's turn to win a penalty at the scrum and Pienaar kicked the visitors back to within seven points of Cardiff and also back to bonus point territory.
Cardiff were denied a crowning try with just three minutes left, as Henson was penalised for a forward pass, much to James' annoyance, after he had scampered over for what would have been his second score of the evening.
Parks failed to end the night on a high in the 79th minute as he missed a late penalty but at that stage Cardiff were already home and dry.

| Cardiff Blues Score Card | |||||
| Name | Tries | Conv | Pen | Drop | Pts |
|---|---|---|---|---|---|
| Dan Parks | 1 | 1 | 3 | 16 | |
| Tom James | 1 | 5 | |||
| Total | 2 | 1 | 3 | 21 | |
| Ulster Rugby Score Card | |||||
| Name | Tries | Conv | Pen | Drop | Pts |
|---|---|---|---|---|---|
| Ruan Pienaar | 3 | 9 | |||
| Robbie Diack | 1 | 5 | |||
| Total | 1 | 3 | 14 | ||
| |||||||||||||||||||||||||||||||
