The win was the Fire's second straight and improved them to .500 this season (9-9-4), stretching an unbeaten streak to four games (3-0-1) in MLS competition. Coupled with New England's loss, Chicago climbed to sixth in the MLS' Eastern Conference.
The Impact (10-7-5) lost their second straight, and for the fourth time in the past eight matches, falling behind Philadelphia to fourth in the Eastern Conference.
The Impact's Felipe Martins cut the Chicago lead in half in the 57th minute, two minutes after entering the match. Martins drilled a 28-yard left-footed shot past Fire goalkeeper Sean Johnson for Montreal's only goal of the match, and his fourth of the season.
Montreal's rally ended in the 94th minute, when Chicago forward Chris Rolfe headed Matteo Ferrari's header clear of the goal.
The Fire had firepower from the start, even with leading scorer Mike Magee missing the match with a tight right calf. Lindpere beat Montreal goalkeeper Troy Perkins in the sixth minute, his hard shot from the top of the penalty area deflecting off the Impact's Daniele Paponi for a 1-0 lead.
Duka made it 2-0 in the 23rd minute, kicking a low shot past a diving Perkins after beating three defenders on a 30-yard run. Duka was being tackled by Alessandro Nesta, the last of the trio, as he shot.
Johnson made five saves, including a close-range stop on Jeb Brovsky's one-hopper in the 89th minute.