|France (24) 41|
|Tries: Fofana, Guirado, Slimani, Pape, Grosso Cons: Michalak 4, Parra Pens: Michalak 2|
|Canada (12) 18|
|Tries: Van der Merwe, Carpenter Con: Hirayama Pens: Hirayama 2|
France overcame a stern test from Canada to make it three wins from three in Rugby World Cup Pool D.
Philippe Saint-Andre's side led 24-12 at the break thanks to tries from Wesley Fofana, Guilhem Guirado and Rabah Slimani.
Scores from DTH van der Merwe and Aaron Carpenter kept the Canucks in touch.
But second-half tries from lock Pascal Pape and 26-year-old debutant Remy Grosso secured a bonus-point victory for France.
In truth, the scoreline was not a fair reflection on how Canada played.
They dominated the opening stages of the second half but France, led by a man-of-the-match display from Frederic Michalak, go into next week's huge match against Ireland looking increasingly ominous.
The 32-year-old Toulon fly-half rolled back the years in the first four minutes as he showed a fine turn of pace to slice though the Canada defensive line and set up an onrushing Fofana to touch down for the fastest try of the competition so far.
The conversion and a subsequent penalty saw Michalak became France's top points scorer in World Cup history as he passed the mark of 124 set by Thierry Lacroix.
Guirado put the French 17-0 ahead off the back off a maul, but straight from the kick-off Canada were back in it.
Ciaran Hearn magnificently caught the kick, and several phases later Van der Merwe stepped his man to become his nation's top try scorer in the World Cup.
Hooker Carpenter then burrowed over from close range to make it 17-12 as the Canucks looked in the ascendency, but after Michalak elected to kick a straightforward penalty into touch Slimani touched down to give France breathing space.
Brief hope - but France then open up
Despite captain Tyler Ardron going off injured soon after the break, Canada came out fighting in the second half and two kicks from Nathan Hirayama put them within six points.
But France showed the difference between a tier one and tier two nation with a powerful last 20 minutes, securing a bonus point thanks to Pape's close-range try.
And they stretched well clear as Grosso, called up in place of the injured Yoann Huget, scored a debut try in the left-hand corner to wrap up proceedings.
What they said
France coach Philippe Saint-Andre said: "The end result is three games, three wins and 14 points from a possible 15.
"As a group we are eager to go far and we have some huge games to come starting with Ireland."
France: Scott Spedding; Remy Grosso, Mathieu Bastareaud, Wesley Fofana, Brice Dulin; Frederic Michalak, Sebastien Tillous-Borde; Eddy Ben Arous, Guilhem Guirado, Rabah Slimani; Pascal Pape, Yoann Maestri; Thierry Dusautoir (captain) Bernard Le Roux, Damien Chouly.
Replacements: Alexandre Dumoulin for Bastareaud (71), Remi Tales for Michalak (69), Morgan Parra for Tillous-Borde (61), Vincent Debaty for Ben Arous (61), Benjamin Kayser for Guirado (61), Nicolas Mas for Slimani (63), Yannick Nyanga for Le Roux (69), Fulgence Ouedraogo for Chouly (75).
Canada: Matt Evans; Phil Mackenzie, Ciaran Hearn, Nick Blevins, DTH van der Merwe; Nathan Hirayama, Phil Mack; Hubert Buydens, Aaron Carpenter, Doug Wooldridge; Brett Beukeboom, Jamie Cudmore; Kyle Gilmour, Richard Thorpe, Tyler Ardron (captain).
Replacements: Harry Jones for Evans (37), Gordon McRorie for Mack (67), Djustice Sears-Duru for Buydens (49), Evan Olmstead for Carpenter (63), Ray Barkwill for Thorpe (48), Nanyak Dala for Ardron (18), Conor Trainor for Jones (64). Not Used: Tiedemann. Sin Bin: Dala (72).
|More from rugby:|
|Tonga beat Namibia|
|'World Cup needs longer breaks'|
|Get World Cup alerts direct to your phone|
|Rugby World Cup 2015 fixtures and groups|
|For the latest rugby union news, follow @bbcrugbyunion on Twitter|