A cold, biting wind disrupted the place-kickers with Cardiff full-back Ben Blair and Connacht number 10 Ian Keatley both missing their first penalty attempts.
And though the Blues built some early momentum with new signing Casey Laulala and their returning Welsh internationals eager to get on the ball, Connacht defended well at the breakdown and across midfield.
The Irish side enjoyed some decent possession in the intervening minutes, with young centre Aidan Wynne and experienced international Gavin Duffy showing well in a pacy attack that ended with a frustrating turnover close to the Cardiff line. The prominent Keatley also missed an early drop goal attempt.
Inspired by a barnstorming touchline run by centre Laulala who broke away from three Connacht men, the Blues went through the phases with Gareth Cooper and James putting them within sight of the whitewash.
They had to settle for a three-pointer, however, with Blair popping a penalty over from in front of the posts.
Connacht clawed it back to 3-3 soon after when Keatley bisected the posts after Tom Shanklin was singled out for going off his feet at a ruck.
Some strong running from James got the Blues fans on their feet and the Connacht rearguard had to react sharply when defending a chip kick from the speedy Welsh international.
A second successful penalty nudged the Blues back in front and after they soaked up some more midfield pressure from the visitors, Dai Young's men blasted through for their opening try.
Seven minutes before the break, Martyn Williams kickstarted a move which ended with James going over under the posts.
The busy Richard Mustoe took the ball and made great headway before Cooper and Laulala linked, with the former All Black offloading for James to canter through for the score.
After Blair's conversion, the Blues increased the tempo in heavy rain and put the squeeze on with a sustained attack in Connacht's half. Mustoe and Shanklin were both invovled before James was unleashed for his second try which went unconverted.
Connacht, who brought Michael Swift and Ray Ofisa on for the second half, managed to eat into that 18-3 half-time deficit, getting back on the front foot with their forwards retaining possession well.
Swift and team captain John Muldoon were determined to get their side back in touch, playing in their 100th league games.
Keatley kicked a penalty after a scrum infringement to boost Connacht's comeback chances but in a stop-start second half, neither side could move through the gears.
Keatley missed his next attempt from wider out but the Ireland international was right on the money with a 62nd minute penalty that closed the gap to just nine points.
Cardiff turned down a shot at the posts as Sam Norton-Knight kicked for the corner, but Connacht kept the Blues at bay and the hosts' passing let them down.
Laulala inspired hope for more tries with an eye-catching break, and replacements Richie Rees, Andreas Pretorius and Ceri Sweeney freshened things up as the Blues pressed for a clinching score.
It arrived on 73 minutes when Blair landed his third penalty of the afternoon with the aid of a post, following an attacking surge started by a kick chase from man-of-the-match James.
Connacht tried to mount a late fightback but a scrappy finished ensued as the Blues won for the first time against Irish opposition this season, gaining some revenge for their 18-16 reversal at the Sportsground in September.
The win has moved Cardiff up to eighth in the league table, two points clear of the Scarlets, ahead of their festive derby clashes with the Dragons and Ospreys.
Connacht have a tough trip to defending league champions Munster to come on December 26, before they host Leinster on January 2, hoping for a repeat of last season's memorable 19-18 win over Michael Cheika's side.
|Cardiff Blues Score Card|
|Connacht Rugby Score Card|