There was drama to the dying seconds at the Millennium Stadium as Wales zalmost came back from the dead to steal victory.
Twice Welsh players crossed the French line in injury time as they went for the kill, but on both occasions the Italian video referee Claudio Giacomel ruled 'no try'.
It was the Welsh skipper Scott Quinnell who thundered over after taking the ball over the back of a French line-out five metres from their line.
He drove throgh two tacklers, but Serge Betsen somehow managed to get a hand underneath the ball to deny Wales a try in the 82nd minute.
But the home side, showing the sort of fire and passion their supporters were hoping for after their massacre in Dublin, put in one final effort to release James on the left.
The Bridgend wing, who finished the game at centre, went for the corner, but was superbly tackled by Aurelien Rougerie. James got the ball over the line, but Rougerie had dragged him into touch just before he was able to touch down for what would have been the vital winning score.
Wales started like an express train and after Stephen Jones and Damien Traille had swapped penalties, Craig Quinnell drove through Gerald Merceron and Tony Marsh for a try after 10 minutes.
Jones added the conversion and it was all Wales for the opening quarter.
But the French kept their cool, gained control up front and worked themselves into the lead with a Merceron penalty and corner try by Tony Marsh.
That Marsh try came after some great approach work by both French props, Pieter De Villiers and Jean-Jacques Crenca, and the Kiwi-born centre wasn't finsihed with Wales.
Two more penalties from Jones to one from Merceron kept Wales 16-14 ahead, but Marsh sped over again for a try which Merceron converted to edge the French ahead four minutes before the break.
Jones cut the gap to two points with a fourth penalty before Wales had a catastrophic 10 minutes. Skipper Scott Quinnell was given a yellow card by Irish referee Dave McHugh after clattering into Nicolas Brusque after the French full back had kicked ahead and Merceron made it 24-19 to the visitors at the interval with his third penalty.
Then, two minutes into the second half, Traille kicked ahead for Rougerie to chase close to the Welsh line and he dived with Welsh full back Kevin Morgan for the ball.
Morgan came up with the ball, but McHugh went to the video referee and the Italian arbiter gave the try to France.
Merceron converted and then kicked a penalty to open up a 15 point gap before the Welsh skipper returned to the field.
Quinnell's return made a huge difference to the Welsh team and they got back into the game after 58 minutes when back row man Nathan Budgett crossed for a try after some neat approach work from Andy Marinos.
Jones converted, but with 10 minutes to play Merceron kicked his fifth penalty to make the Welsh task all the more difficult.
Full back Morgan was then given the benefit of the doubt by the video referee when he dived for the line with a French defender two minutes from time and Jones' conversion from a wide angle set up a thrilling final eight minutes.
Wales tried, but failed - and France move on face England in Paris in round three of the Lloyds TSB Six Nations Championship with two wins under their belt.
Scorers: Wales: Tries: Craig Quinnell, Nathan Budgett, Kevin Morgan; Cons: Stephen Jones 3; Pens: Stephen Jones 4.
Ebbw Vale captain Damien Hudd picked up the biggest accolade of the night at the 11th Principality Premiership Awards Evening held at Principality Stadium, after leading his side to the title for the first time.
Wales assistant coach Robin McBryde is predicting a tough battle against England on Sunday despite the fact they may not be considered to be at full strength. Players will be out to impress Eddie Jones which makes England a dangerous proposition, he says.
Wales U20 captain Tom Phillips and performance psychologist Dr Rich Neil explain why spending three days at Monmouth RFC has further strengthened the togetherness of the squad ahead of the #WorldRugbyU20s
Alongside Scarlets flanker James Davies and Cardiff Blues centre Cory Allen, three Wales Sevens core players have made the extended training squad for GB Sevens. Wales Head coach Gareth Williams tells WRU TV's Graeme Gillespie why Luke Treharne, Sam Cross and Luke Morgan earned selection in the initial training squad for Rio.
Wales Sevens head coach Gareth Williams tells WRU TV's Graeme Gillespie he has had to overcome a number of injuries before naming a competitive squad for this weekend's penultimate round of the World Series in Paris.