Ivan Barbashev, Dakota Joshua and Torey Krug also scored for St. Louis.
The Blues have won seven straight home games, their longest streak since capturing nine in a row from Dec. 12, 2019-Jan. 13, 2020.
Lindgren, making his second start of the season, replaced Jordan Binnington, who remains in the NHL’s COVID-19 protocol.
Alexander Romanov scored for Montreal, ending the Canadiens’ scoring drought of 134:49. Montreal has lost six in a row. Jake Allen, who spent seven seasons in St. Louis, made 33 saves in his seventh straight start for the Canadiens.
Vladimir Tarasenko added two assists for the Blues, who have picked up points in seven of their last eight games.
Lindgren made 29 saves in a 6-2 win over Detroit on Thursday. The 27-year-old saw his first action in almost two years in a relief stint against Florida two days earlier. He listed as the fourth goalie on the Blues’ depth chart.
Buchnevich converted from close range just 63 seconds into the game. He has nine goals and 11 assists in his last 17 games.
Joshua converted on a 2-on-1 off a pass from Logan Brown for a 2-0 cushion in the second. It was Joshua’s first score of the season.
Barbashev pushed the lead to 3-0 with a power-play goal off a shot from the slot with 4:40 left in the second period.
NOTES: Allen was honored with a video tribute on the scoreboard during a timeout in the first period. He drew a standout ovation and answered with a wave to the crowd. … The Canadiens went 14:33 between shots on goal over the first and second periods.
Montreal F Joel Armia returned to the lineup after missing two games with an undisclosed injury.
The teams met for the first time in 784 days. Montreal won in St. Louis on Oct. 19, 2019. … The Canadiens swept both games that season.
Canadiens: Travel to Pittsburgh to face Penguins on Tuesday.
Blues: Will host Anaheim on Sunday.