Lehner, 23, went 12-15-6 with a 3.06 goals-against average and .913 save percentage in 36 games (30 starts) last season. He will be paid $1.5 million this season, $2.025 million next season and $3.15 million in 2016-17.
"We quite honestly spent a long time this summer trying to get a long-term deal done," Lehner told the Senators website. "It turned into a three-year deal which I'm very happy with too.
"I think it's just, from both sides, they wanted me in Ottawa and I've tried to make my point that Ottawa is the place I want to be but, of course, I've got to deserve to be there a long time and that's what my goal is. You never know what the future holds."