Jason Spezza added two assists for Canada (5-0), which remains atop Group A. France stunned the Canadian side 3-2 in a penalty shootout at last year's tournament.
"It seems like every year there's a game where you're in a real fight to get the puck in the net," said Eberle. "You have to find a way to win, and we did that with our power play."
Canada holds a four-point lead over Sweden in Group A with the host Czech Republic third with 10 points. The top four teams in each group make the quarter-final round, with the Canadians clinching a berth by virtue of the win over France.
Canada scored three times with the man advantage.
Julien Desrosiers, Yorick Treille and Damien Fleury replied for France (1-4), which was outshot 43-21.
France rallied from a 3-1 deficit to tie the contest in the third but Canadian forward Matt Duchene said his teammates weren't fazed.
"We know how to win games," said Duchene. "There was no panic. We didn't believe for a second it wasn't going to end up a Canada win."
The French made it 3-3 just 6:56 into the third. Antoine Roussel came down left wing and took a shot that deflected off Fleury, then Eberle and into the net. After a video review, the goal counted.
Eberle earned redemption on the power play, scoring the winner at 10:42. Eberle tipped Brent Burns' blast through the pads of French goalie Ronan Quemener's pads to put Canada ahead 4-3.
"Burnsie made a great shot and I was able to get my stick on it," said Eberle.
Quemener, 27, was making his world championship debut. Quemener, who plays for Jukurit in the Finnish second division, has served as France's third goalie in 2011 and 2014 but did not play.
Martin Jones of the L.A. Kings stopped 18 shots for Canada, which faces Switzerland on Sunday. Jones made 17 saves in a 10-0 win over Germany in his first start of the tournament.
With files from The Associated Press.Suggest a correction