The 26-year-old goalie was a restricted free agent who had a salary arbitration hearing on Friday but agreed to the contract before the ruling.
Ullmark was 15-14-5 with a 3.11 goals-against average, .905 save percentage and two shutouts in 37 games (34 starts) with the Sabres last season, setting NHL career highs in games played and wins. The 15 wins ranked third among rookie goalies behind Jordan Binnington of the St. Louis Blues (24) and Carter Hart of the Philadelphia Flyers (16).
Selected by Buffalo in the sixth round (No. 163) of the 2012 NHL Draft, Ullmark is 24-27-7 with a 2.87 GAA, .910 save percentage and two shutouts in 63 games (58 starts).