With the impressive performance, Haines moves past Richard Therrien in taking over the league lead in goals with 26, one more than the Abitibi Eskimos captain.
His efforts also put him into a tie for top spot in overall NOJHL offensive production with linemate Sebastien Leroux as the Nickel Barons duo have 49 points apiece. Leroux dished out three assists in the contest.
Haines notched the lone marker of the opening frame, beating Bobcats netminder Thomas Graham 14:15 into the session.
Sudbury extended their lead to 3-0 by the seven-minute mark of the second stanza thanks to Josh Patrick and a shorthanded effort by Haines.
After Cody Slaght put the Bobcats on the board with a power-play marker midway through the period, Brett Dusick answered right back moments later to make it a 4-1 game.
John Follmer cut into the deficit in the late stages with another man advantage tally for Elliot Lake heading into the third.
The Bobcats built off that Follmer goal by tacking on two more a minute apart early in the period to knot the contest at 4-4 courtesy of Steve Gaul and captain Kyle Rowe.
Haines struck again with 9:51 remaining, finishing off his hat trick in burying the eventual game-winner.
David Lazarus wrapped thing up with a late empty netter to secure the victory for the home side.
Alex Laino made 31 stops to pick up the win for Sudbury, who improves to 15-11 with the triumph and moves past Kirkland Lake into third spot in the league standings.
Graham faced 45 shots in a losing cause for seventh place Elliot Lake as they slipped to 7-17-0-1.