Fiji toppled France for the first time in a rugby international by 21-14 at the Stade de France on Saturday.
France came from behind to lead 14-12 at halftime, then drew a blank in the second half as Fiji flyhalf Ben Volavola kicked three penalties.
Fiji has beaten tier one sides Scotland and Italy in recent years, but this could be its biggest win since defeating Australia 18-16 in 1954 in Sydney.
"We didn't respect them, they walked all over us," France center Mathieu Bastareaud said.
He described the France team as "little boys."
Having beaten Argentina a week ago to end a five-test losing streak, France hoped to start a winning streak with another victory against a nation it had never lost to in nine previous encounters.
Fiji had other ideas, and punished France's woeful handling and lack of aggression.
France coach Jacques Brunel heads into a Rugby World Cup year with a side facing grave doubts over its skills and mentality.
France led 14-12 at halftime, with two tries from captain Guilhem Guirado, both converted by Baptiste Serin, that cancelled out Fijian tries from outside center Semi Radradra and winger Josua Tuisova.
Brunel complimented Fiji on showing more enterprise, but said losing was "incomprehensible. It shows our inconsistency."
"We are going to have to ask questions of ourselves."
Fiji asked questions of the French from the get-go, and repeatedly tore through French lines with powerful runs.
Fiji scored first, with Radradra's defense-busting run to the tryline in the 20th minute. Volavola converted.
France quickly responded with the first of Guirado's tries five minutes later.
But more crisp, quick passing helped the Fijians scythe through the French again for Tuisova's try in the 32nd. Volavola missed the conversion.
Right at the end of the half, France scored when Guirado pile-drived through the Fiji defense. Serin's conversion sent France into the dressing room with a lead against the run of play.
Fiji's victory might have been even more emphatic were it not for two disallowed tries — one in the first half denied for offside after video review, and the other disallowed in the second half for a late tackle.