The Canadians announced the deal Thursday that will keep his yearly salary of $5.75 million unchanged from his last contract.
The 6-foot, 209-pound Markov has 366 points (81 goals, 285 assists) in 623 NHL regular-season games over 10 seasons with the Canadiens.
His career has been hampered by injuries to his right knee. The 32-year-old missed the first 10 games last season, and then played just seven games before a second knee injury that required season-ending surgery.
Montreal selected him in the third round of the 1998 draft.