The hosts, playing a second-string team, make it two wins from two to remain in pole position in Pool A, but were pushed all the way by Uruguay, who may now rethink their pre-tournament aim of qualifying for the next World Cup and a group-stage exit.
Uruguay stunned the home fans when Nicolas Freitas scooped up a loose ball to score the opening try after six minutes and though Antoine Hastoy and the boot of Melvyn Jaminet edged France clear, they were lucky to lead 13-5 at half-time after a second try for the visitors by Felipe Etcheverry was harshly ruled out for obstruction.
They were not to be denied 13 minutes after the break though as Baltazar Amaya scored a brilliant try that Etcheverry converted to bring Uruguay, playing with remarkable confidence, within a point.
France, struggling with discipline all night, hit back quickly with a try by Peato Mauvaka and but were still unable to take command and managed only one more, for Louis Bielle-Biarrey.
Additional reporting by Reuters.