The deal, which has an average annual value of US$3.4 million, was announced Sunday.
Byron, 29, had 20 goals and 15 assists in 82 games with the Canadiens last season and ranked second on the team in goals.
“We are very happy to have signed Paul Byron to a contract extension,” general manager Marc Bergevin said in a statement. “Paul is a fierce competitor and an example of courage and will. With his speed, his play on both sides of the ice and his skills, he is a key element of our team.”
The Ottawa native was one of four players to play in all 82 games with Montreal in 2017-18.
Byron was selected in the sixth round, 179th overall by the Buffalo Sabres in the 2007 NHL draft, and was claimed off waivers by the Canadiens from Calgary on Oct. 6, 2015.
Montreal opens the 2018-19 regular season against the Maple Leafs in Toronto on Oct. 3.