Victor Olofsson had two goals and an assist, and Dylan Cozens and Rasmus Dahlin each had two assists for the Sabres (24-33-10), who are 4-0-2 in a six-game point streak. Dustin Tokarski made 16 saves.
Alex DeBrincat had a goal and an assist for the Blackhawks (24-33-10), who have lost two straight. Lankinen made 31 saves.
"We stopped playing the game the right way," Chicago coach Derek King said. "We just decided … to just go and do what they felt like they wanted to do. Didn't do anything we asked them to do. First period, they did. They played the game the right way. Second period, nothing. Third period, they kind of threw some flashes. It's like putting lipstick on, right? Clean it up a little bit. Make it look good. Not good enough.
"Very surprised. Disappointed. And they should be disappointed. So we'll find out come next game how disappointed they really are about losing a game like that."
Olofsson scored a power-play goal to make it 4-1 at 4:50 of the second period. He then cut it to 4-2 at 10:24 from the left circle off a pass from Jeff Skinner from below the goal line.
Kyle Okposo got Buffalo to within 4-3 at 14:32. He was credited with the goal when Cozens' shot deflected off his skate and the skate of Blackhawks defenseman Erik Gustafsson before redirecting into the net.
Vinnie Hinostroza tied it 4-4 at 2:39 of the third period when he knocked in a rebound in front.
DeBrincat put the Blackhawks back in front 5-4 at 10:56 with a power-play goal, but Alex Tuch tied it 5-5 at 17:46 when he tapped in a pass from Olofsson near the right post.
"What a game," Granato said. "My message to the team after was you get consumed and frustrated by perfection. We have to disregard that. When you win and you win championships and you win games, and these teams that win, they do it in imperfect situations."