The French champions were 9-3 ahead at half-time thanks to two penalties by Argentina fly-half Juan Martin Hernandez and another by David Skrela, with Ben Blair slotting one over for the Blues.
Skrela and Blair added further penalties before the hour mark - but despite setting up camp in the Stade 22 in the final quarter, Cardiff found the home defence impenetrable at the death.
The Welshmen - defeated for the first time in this season's tournament - join Bristol on eight points in what is proving a tight group, with Stade now a point clear at the top.
Playing into a strong wind in miserable conditions, Cardiff would have been satisfied to have gone into the interval just six points behind.
There was not a try-scoring chance worthy of the name in an opening 40 minutes dominated by the boot, handling errors and some dogged tackling.
Hernandez, who lasted just 37 minutes of his first Cup game of the season before going off injured, missed his first penalty chance - from long range - in the seventh minute.
But he was on target with one four minutes later after Gareth Thomas was penalised for obstruction, and the Pumas star’s booming kicks from hand were keeping the Blues pinned back in their own half.
Blair and Hernandez exchanged penalty misses. The former then levelled the scores in the 23rd minute with a three-pointer, after Stade lock Cliff Milton was adjudged offside at a ruck.
The visitors suffered a blow just before the half-hour mark when fly-half Nicky Robinson hurt his thigh kicking for touch and was replaced by Richie Rees.
Hernandez added further insult by slotting over a simple penalty moments later -and Skrela, who came on as a substitute for the Argentinian just before the break, booted another with the last kick of the half to give the Frenchmen a 9-3 advantage.
The rain came lashing down harder at the start of the second period, but the Blues had the vital ingredient of the wind at their backs.
Stade had trouble getting out of their half at first - but following their first sustained spell of possession, they forced a penalty, and Skrela duly kicked it for 12-3.
However, the France number 10’s knock-on on his own line in the 55th minute then handed Cardiff the put-in at a scrum underneath Stade’s posts.
The Blues’ first attack was repelled, but the hosts were penalised for offside soon afterwards - and Blair kicked an easy penalty for 12-6.
All that work threatened to be undone when they were penalised for offside themselves in the 62nd minute. Skrela, though, was wayward with his penalty from 20 yards - and Cardiff remained within a converted try of Stade.
Dai Young’s men piled on the pressure in the final 15 minutes and turned down a couple of easy kicks at goal in favour of going for the catch-and-drive at a line-out.
The magnificent Paul Tito claimed both throws, but possession was then spilled each time.
Stade produced more sterling defence on their own goalline with five minutes remaining to keep Cardiff at bay as the French champions climbed to the top of the pool.