Ehrhoff fired a wrister from the slot over goalie Anton Khudobin. Cody Hodgson added an insurance goal less than 3 minutes later when he tipped in a pass from Tyler Myers.
Myers began the comeback 2 minutes into the third period, tying the game at 2 by backhanding in a rebound after Khudobin stoned Jochen Hecht on a 2-on-1 break.
The goals completed a stirring comeback for Buffalo, which trailed 2-1 going into the third. Entering the game, Boston (8-2-2) had outscored its opponents 15-5 this season in the final period.
The Bruins' only other loss in regulation this year came at home against Buffalo on Jan. 31.
Drew Stafford also scored and Ryan Miller made 30 saves for Buffalo (6-8-1), which snapped a two-game skid and won for the third time in eight games.
Dougie Hamilton scored his first NHL goal and added an assist for Boston, which failed to earn a point for only the second time in 12 games. Rich Peverley also scored for the Bruins. Khudobin stopped 22 shots.
DEVILS 5, FLYERS 3
NEWARK, N.J. — David Clarkson scored on a deflection at 10:43 of the third period and New Jersey rallied from a two-goal deficit to defeat Philadelphia.
Travis Zajac, Alexei Ponikarovsky and Patrik Elias scored the Devils' other goals with Ilya Kovalchuk getting the primary assist on each. Martin Brodeur made 25 saves and had an assist, while Steve Bernier iced the game with an empty-net goal.
Wayne Simmonds, Mike Knuble and Matt Read scored during a 2:36 span in a first-period onslaught for the Flyers, who are 2-7 on the road this season. Ilya Bryzgalov had 15 saves.
Clarkson's team-high 10th goal came on a deflection of a point shot by Adam Larsson. Elias assisted on the last two goals.
PENGUINS 3, JETS 1
WINNIPEG, Manitoba (AP) — Craig Adams scored his first two goals of the season to lift Pittsburgh to its seventh road win of the season.
James Neal scored his 11th goal of the season, while Penguins goalie Marc-Andre Fleury turned aside 25 shots.
Andrew Ladd scored for the Jets and Ondrej Pavelec stopped 25 shots.
Winnipeg has lost three straight at home and hosts Boston on Sunday.
DUCKS 5, RED WINGS 2
DETROIT (AP) — Andrew Cogliano scored two of Anaheim's three goals in the third period, sending surging Anaheim to its third straight win and seventh in eight games.
Viktor Fasth made 26 saves to become the first goalie in seven years to win his first seven career starts.
Cogliano snapped a 2-all tie 1:02 into the third and Bobby Ryan connected 48 seconds later. Cogliano capped the outburst with his fourth of the season at 18:11.
Matt Beleskey and Corey Perry each had a goal and an assist for Anaheim.
Joakim Andersson and Tomas Tatar scored for Detroit.
BLACKHAWKS 4, SHARKS 1
CHICAGO (AP) — Marcus Kruger and Andrew Shaw scored during a strong second period, and NHL-leading Chicago beat sliding San Jose for its fifth win in six games.
Dave Bolland and Niklas Hjalmarsson also scored for the Blackhawks, who remain the league's only team without a regulation loss. Jamal Mayers had two assists and backup Ray Emery made 27 saves for his fourth win in four starts this season.
Tim Kennedy scored his first goal of the season for the Sharks, and Antti Niemi had 33 saves against his former team.
Chicago's first home win since Jan. 27 against Detroit included a rare fight between captains Jonathan Toews of the Blackhawks and Joe Thornton of the Sharks.
BLUES 5, FLAMES 2
CALGARY, Alberta (AP) — David Perron scored twice on the power play and St. Louis scored four unanswered goals in the first period to cruise to the victory over Calgary.
Perron's first of the night at 17:12 of the first period came against Joey MacDonald, who took over in the Flames' net for starter Leland Irving just over four minutes into the game after St. Louis scored on two of its first four shots.
Calgary outshot the Blues 15-5 in the second, but was only able to solve rookie Jake Allen once when Dennis Wideman ripped a rising slap shot through a crowd.
The Flames scored again 2:46 into the third when Curtis Glencross was set up neatly by Jarome Iginla.
Rookie Jaden Schwartz, with his first of the season, Patrik Berglund and Alex Steen also scored for St. Louis.
STARS 4, CANUCKS 3
VANCOUVER, British Columbia (AP) — Brenden Dillon scored the go-ahead goal with 3 minutes left in the third period and Dallas rallied to end Vancouver's six-game winning streak.
Reilly Smith, Cody Eakin and Antoine Roussel also scored for the Stars, who overcame a 3-1 deficit to win for the fifth time in six games. Backup goalie Richard Bachman rebounded from a rough start and earned the victory in relief of the injured Kari Lehtonen.
Daniel Sedin, Chris Higgins and Alex Burrows had goals for the Canucks, and captain Henrik Sedin became the club's career scoring leader.
KINGS 2, BLUE JACKETS 1
LOS ANGELES (AP) — Kyle Clifford opened the scoring late in the second period, Jonathan Bernier made 12 saves for Los Angeles and the defending Stanley Cup champions earned their first regulation win at home this season.
Mike Richards scored during a two-man advantage in the third period for the Kings, who climbed over Columbus and out of last place in the Western Conference with their second straight victory.
Although Nick Foligno erased the shutout bid with 2:25 to play, Bernier largely shut down Columbus' punchless offence and even picked up his second career assist in his second straight victory in place of Jonathan Quick.
Sergei Bobrovsky stopped 20 shots for the NHL-worst Blue Jackets, who opened a six-game trip with their fourth loss in five games.