The 27-year-old put up career-highs of 26 goals and 56 points with the Ottawa Senators and the Columbus Blue Jackets last season.
The deal will pay Dzingel $3.25 million in 2019-20 and $3.5 million in 2020-21.
“Ryan has proven that he can be an impact player offensively, putting up bigger numbers over each of his three full-time NHL seasons,” Don Waddell, president and general manager of the Hurricanes, said in a press release.
“His speed, skill and vision make him an excellent fit for our forward group and our style of play. At 27, he’s just entering his prime and certainly had options coming off a 26-goal season, so we’re happy he’s chosen to be a part of the Carolina Hurricanes.”
Dzingel was acquired by the Blue Jackets at the trade deadline, notching 12 points in his final 21 games. He added a goal in nine post-season games as Columbus swept the Presidents’ Trophy-winning Tampa Bay Lightning in the first round, but fell to the Boston Bruins in the Eastern Conference semifinal.
The seventh-round selection in the 2011 draft, had spent the previous three years in Ottawa and has recorded 138 points over the course of his 268 games in the NHL.
The native of Wheaton, Ill., is coming off a two-year, $3.6-million deal signed with the Senators in 2017.