The 28-year-old Bernier appeared in 39 games for the Anaheim Ducks this past season, posting a 21-7-4 record with a 2.50 goals-against average and .915 save percentage.
"Jonathan is a proven NHL netminder who brings experience to our goaltending position," Avalanche general manager Joe Sakic said in a statement. "He is coming off a strong season with the Ducks, and we look forward to having him and Semyon Varlamov as our goalie tandem this season."
Bernier played in four playoff games in relief of Ducks starter John Gibson, going 1-2 with a 3.29 goals-against average. He started and lost Game 6 of the conference finals to the Predators, ending the Ducks' season.
He was drafted by the Los Angeles Kings with the 11th overall pick in the 2006 draft. By 2010, he saw time as a backup in Los Angeles but wasn't going to unseat Jonathan Quick. In 2013, he was traded to the Maple Leafs where he became the primary starter.
He began to fall out of favor with coach Mike Babcock, however, and when the Leafs acquired Frederik Andersen a year ago, Bernier was dealt to Anaheim for a conditional draft pick.
He had a cap hit of $4.15 million last season.