Boston's Andrew Ference launched a shot that bounced off the left pad of Montreal's Carey Price and came to Horton at the left of the net. The Bruins' forward deftly moved the puck from his skates to his stick and wristed it into a wide-open net for the game-winner.
The decisive score came moments after Boston netminder Tim Thomas made a game-saving stop on the Habs' Brian Gionta during a 2-on-1 break with Travis Moen.
Thomas turned aside 44-of-45 shots for the Bruins, who will seek to close out the series with a win in Tuesday's Game 6 at Montreal.
Brad Marchand got Boston's other goal 4 1/2 minutes into the third period.
Jeff Halpern tied it up for the Canadiens with 6 minutes left in regulation.
Price turned aside 49-of-51 shots for Montreal.