Ryan Miller made 31 saves for the Northeast Division-leading Sabres, who have won two straight. Tyler Myers and Paul Gaustad both recorded two assists for Buffalo.
Byron Bitz scored the lone goal for the Panthers.
Tomas Vokoun stopped 17 shots for Florida before he was replaced by Scott Clemmensen in the second period.
Vokoun was also pulled from Tuesday night’s game against Washington, a 7-3 Florida loss. Clemmensen finished with 16 saves.
The Sabres went ahead, 3-1 on Grier’s goal 13:49 into the third. Gaustad dug the puck out of a scrum in front of the net and Grier pushed it in.
Florida had closed the gap to 2-1 with Bitz’s goal at 11:04 of the second. The former Bruin, who returned to the lineup after missing four games because of a lower body injury, tipped in the puck from in front for his fifth of the season.
Maple Leafs 3, Canadiens 2 — John Mitchell scored the shootout winner for host Toronto, which beat Montreal.
Brian Gionta had both goals for Montreal.
Tyler Bozak and Phil Kessel scored in regulation for the Maple Leafs, who have won six of seven but are still 29th in the overall standings of the 30 NHL clubs.
Thrashers 5, Flyers 2 — Colby Armstrong scored two goals and host Atlanta beat Philadelphia to continue its postseason push.
The Thrashers have won three straight to move back into contention for the final playoff spot in the Eastern Conference. Atlanta trails the eighth-place Bruins by one point. Atlanta had not won as many as three in a row since November.
Capitals 3, Lightning 1 — Alex Ovechkin scored a goal in his return following a two-game suspension and Jose Theodore made 33 saves as Washington beat host Tampa Bay.
The two-time defending MVP took a long pass off the boards from Nicklas Backstrom, skated in on a breakaway, and easily scored on Antero Niittymaki to give Washington a 2-1 lead. It was Ovechkin’s 45th goal of the season.
Predators 1, Blue Jackets 0 — Cody Franson scored 1:54 into overtime as host Nashville stretched its winning streak to five games.
Nashville goalie Pekka Rinne and Columbus counterpart Steve Mason were equally stingy during regulation time. Rinne stopped all 32 shots he saw in the first 60 minutes and then one more in overtime. Mason made 30 saves in regulation.
Blues 1, Devils 0 — Ty Conklin made 29 saves in his fourth shutout of the season as St. Louis kept up its playoff push with a victory in New Jersey.
Alexander Steen scored for the Blues, who won for the ninth time in 12 games and improved to 9-4 in their past 13 on the road.
Coyotes 5, Blackhawks 4 — Radim Vrbata scored the lone goal of the shootout as Phoenix rallied to beat visiting Chicago for its eighth straight win.
Kings 1, Islanders 0 — Jonathan Quick posted his fourth shutout of the season and Brad Richardson scored in the first period, leading the host Los Angeles over New York.
Stars 5, Senators 4 — Brad Richards had two goals, Trevor Daley scored the winner, and host Dallas handed Ottawa its fifth straight defeat despite Jason Spezza’s hat trick.
Hurricanes 3, Penguins 2 — Defenseman Jamie McBain scored his first NHL goal on a slap shot from above the circles with less than a second remaining in overtime as Carolina rallied from a late deficit at Pittsburgh.
Red Wings 4, Canucks 3 — Henrik Zetterberg scored as the overtime buzzer sounded to lift Detroit to a dramatic victory in Vancouver.