Barberio had three goals and 13 points in 46 games with the Avalanche this past season.
The 28-year-old was claimed off of waivers from Montreal in 2016-17.
“Mark has been a steady part of our blue line since joining the team and has helped solidify our defensive depth,” said Avalanche executive vice-president and general manager Joe Sakic said in a release. “He has played important minutes for us and has been a key penalty killer.
“We are pleased to have Mark under contract for the next two seasons.”