France win remarkable match in Paris
France win remarkable match in ParisSHARE
But France, whose gameplan thrived around their monster pack, pressed and had a series of scrums on the Welsh line, Chouly eventually bundled over from close range and namesake Lopez earning the hard-fought win to buck a five-match losing streak to Wales.
It was a remarkable finish to a stop-start game in which both sides suffered from poor execution and a host of inopportune turnovers.
Welsh prop Samson Lee even had time to serve out his 10 minutes in the sin bin and return to the pitch as English referee Wayne Barnes struggled to keep count of front-row comings and goings.
That included what looked like to be a dubious replacement of Uini Atonio with first-choice tighthead Rabah Slimani after 84 minutes.
"It was an interesting decision that their tighthead went off," Wales skipper Alun Wyn Jones told BBC.
"There will have to be someone looking at that. The technical officials will have to review that.
"But it's irrelevant what happened at the end there. Two wins from five matches is not good enough. We felt we deserved more today and felt we did enough in the 80 minutes to win the game."
Wales withstood a full-frontal French assault in the opening 20 minutes in which centre Remi Lamerat scored the only try of the first half.
Lopez missed an early penalty and spurned a second attempt to go for touch deep in the Welsh 22m line after a clean break from unheralded La Rochelle flanker Kevin Gourdon, one of the finds of the championship.
They lost the line-out but from the resulting clearance, Lopez was on hand with a clever dink over the rushing defence, Lamerat gathering for the opening try.
Lopez converted, and with the Wales pack creaking at the set piece, No.8 Louis Picamoles and Gourdon ensured the pressure was all on the visitors, George North producing a try-saving tackle as Fijian-born wing Virimi Vakatawa was sent clear.
Lopez extended France's lead with a penalty before Vakatawa was shown a yellow card for knocking down a Dan Biggar pass to North with the line abegging. Halfpenny got Wales on the scoreboard with the resulting penalty and booted a second just before Vakatawa made his return to the pitch.
Against all odds, a third Halfpenny penalty pulled Wales to a one-point difference at half-time.
Rhys Webb was lucky not to get carded for taking out France skipper Guilhem Guirado off the ball early in the second period as the home side ratcheted up the pressure.
Another collapsed Welsh scrum resulted in a penalty and France opted for a second bite rather than going for the posts, but this time Barnes favoured Wales and another opportunity for the home side went begging.
To make matters worse for the French, Halfpenny booted his fourth penalty, from 55 metres, to give Wales the lead for the first time of the game.
Brice Dulin showed why he has usurped South African-born Scott Spedding at fullback for France by producing a couple of jinking runs that set the whistle-happy sell-out crowd alight.
But referee Barnes soon brought the partisan spectators back to reality with another harsh penalty call, Halfpenny kicking his fifth and sixth penalties either side of a second by Lopez.
Then came the French firestorm of a finish, the capacity crowd on their feet for 20 minutes of extra time.
Chouly pummelled over to draw the scores level and Lopez kept his nerve for the winning conversion to ensure France's first victory over Wales since knocking them out of the 2011 World Cup semifinal in New Zealand.
Man of the match: It was a bizarre match, so we have decided to give it to the whole French pack who kept their side in the game well beyond the 80-minute mark.
Moment of the match: Damien Chouly's try which sealed the win.
Villain of the match: Referee Wayne Barnes for not getting a grip on the game in the final minutes.
Tries: Lamerat, Chouly
Cons: Lopez 2
Pens: Lopez 2
Pens: Halfpenny 6
Yellow card: Virimi Vakatawa (France, 18 – cynical play, deliberate knock down); Samson Lee (Wales, 83 – repeated infringements), Dan Biggar (Wales, 100 – repeated infringements)
France: 15 Brice Dulin, 14 Noa Nakaitaci, 13 Remi Lamerat, 12 Gael Fickou, 11 Virimi Vakatawa, 10 Camille Lopez, 9 Baptiste Serin, 8 Louis Picamoles, 7 Kevin Gourdon, 6 Fabien Sanconnie, 5 Yoann Maestri, 4 Sebastien Vahaamahina, 3 Rabah Slimani, 2 Guilhem Guirado (captain), 1 Cyril Baille.
Replacements: 16 Camille Chat, 17 Uini Atonio, 18 Eddy Ben Arous, 19 Julien Le Devedec, 20 Damien Chouly, 21 Antoine Dupont, 22 Francois Trinh-Duc, 23 Yoann Huget.
Wales: 15 Leigh Halfpenny, 14 George North, 13 Jonathan Davies, 12 Scott Williams, 11 Liam Williams, 10 Dan Biggar, 9 Rhys Webb, 8 Ross Moriarty, 7 Justin Tipuric, 6 Sam Warburton, 5 Alun Wyn Jones (captain), 4 Jake Ball, 3 Tomas Francis, 2 Ken Owens, 1 Rob Evans.
Replacements: 16 Scott Baldwin, 17 Nicky Smith, 18 Samson Lee, 19 Luke Charteris, 20 Taulupe Faletau, 21 Gareth Davies, 22 Sam Davies, 23 Jamie Roberts.
Referee: Wayne Barnes (England)
Assistant referees: Ben O'Keeffe (New Zealand), Matthew Carley (England)
TMO: Peter Fitzgibbon (Ireland)
AFP & @rugby365com