France struggled to beat China 3-1 on Wednesday night but lost striker Djibril Cisse due to a serious injury in their last warmup for the World Cup.
Cisse suffered the most after going off in the 13th minute with a broken right leg after a tackle by China's Zheng Zhi. He has been ruled out of the World Cup.
France's last World Cup warmup was watched by French President Jacques Chirac and about 40,000 fans at the Geoffroy-Guichard stadium.
David Trezeguet, Thierry Henry and an own goal enabled les Bleus to avoid an embarassing draw against China, who failed to qualify for the Germany World Cup.
France will open their World Cup against Swiss, which beat China 4-1 in an friendly last week.
France paired Cisse and Henry up front and Real Madrid's just retired star Zinedine Zidane, who has been linked with a rumor that he will play in China's Changchun Yatai club, wore the captain's armband.
Newcomer Franck Ribery, who sparkled in two short spells against Mexico and Denmark, didn't start against China but really shone in a later stage.
Zidane should have put the hosts ahead after 12 minutes. He created a penalty kick but also missed it after slipping before kicking the ball.
Trezeguet finally made it 1-0 in the 30th minute. Zidane fed the ball to Henry down the right wing. The Arsenal skipper put in a low cross away from the keeepr for Trezeguet, who tapped the ball into the empty net.
Zheng was taken down inside the box in the 67th minute by Eric Abidal and was awarded a penalty kick. The China skipper stepped up and easily slot it past a wrong-footed Fabien Barthez.
The match was very much like heading for a draw until the last minute. Franck Ribery tried a cross from the left wing and in an attempt to clear the ball, China's Wang Yun blasted an outside of the foot volley into their own top left corner.
Ribery then combined well with Zizou and Henry and is face to face with Li Leilei. The Chinese keeper came out well but the ball fell to Henry, who passed the ball into the empty net from 25 meters.