Benoit Pouliot, Ryan O'Reilly and Sam Reinhart also scored for Buffalo, which snapped a two-game winless streak.
Jordan Oesterle, Jonathan Toews and Tomas Jurco scored for Chicago. The Blackhawks have lost two straight and four of their past five.
Baptiste raised his arms after the go-ahead goal, which came on a deflection of a shot by defenseman Marco Scandella. That marked Baptiste's first multiple-goal performance in two seasons in the NHL.
Reinhart added an empty-net goal with 38.4 seconds remaining.
Sabres goaltender Chad Johnson made 34 saves for the victory. On the opposite side of the rink, Blackhawks goaltender Jean-Francois Berube allowed four goals on 31 shots.
Buffalo opened the scoring with 1:50 remaining in the first period. After Sabres defenseman Rasmus Ristolainen missed on a point-blank wrist shot,
Pouliot tracked the rebound near the crease and punched in a backhand shot for his 13th goal.
Chicago evened the score at 8:15 of the second period. Oesterle rushed in from the blue line and one-timed a feed from teammate Patrick Kane for his fifth goal.
Buffalo regained a 2-1 lead on O'Reilly's power-play goal less than three minutes later. The play marked the 20th goal of the season for O'Reilly, including 12 on the man advantage.
Chicago pulled even again on an own-goal by Buffalo with 5:45 to go in the second period. Johnson denied Jurco's shot from the right circle, but the rebound ricocheted off Ristolainen's left leg and bounced into the Sabres' net.
Twenty seconds into the third period, Toews put Chicago on top 3-2 with his 20th goal. The three-time Stanley Cup champion has at least 20 goals in each of his 11 seasons in the NHL.
Buffalo tied it at 3-all on Baptiste's redirection at 2:17 of the third period.
Sabres center Zemgus Girgensons left the game and did not return after absorbing a hard hit in the second period. Girgensons has seven goals and five assists in 65 games this season.
--Field Level Media
Chicago | Buffalo | |
Jonathan Toews 2 | Points | Sam Reinhart 3 |
Jonathan Toews 1 | Goals | Nicholas Baptiste 2 |
Patrick Kane 2 | Assists | Sam Reinhart 2 |
N/A | Power Play Goals | Ryan O'Reilly 1 |
N/A | Short Handed Goals | N/A |
J-F Berube .871 | Save Percentage | Chad Johnson .919 |
J-F Berube 27 | Saves | Chad Johnson 34 |
Team | Shots | Goals | Power Play | Penalty Kill | Penalty Mins | Face Offs Won |
Chicago | 37 | 3 | 0-2 | 3-4 | 8 | 29 |
Buffalo | 32 | 5 | 1-4 | 2-2 | 4 | 38 |