The visitors were the first to threaten when Rafael Ramos collected the ball down the left and whipped a cross into the box for Cyle Larin, but he could only guide his header wide of the target.
City pushed forward again as Kaka surged past his man and into the box before cutting the ball back for Larin, who tried an ambitious backheel to find the far corner, only to see his attempt go wide of the post.
Montreal almost took the lead when Ignacio Piatti latched on to a loose ball on the edge of the box and drilled a shot through a crowd of players, but he was denied a goal by a fine stop from Tally Hall.
From the resulting corner, the Impact went ahead as Marco Donadel's cross was met at the near post by Toia who guided his effort past Hall.
In the second half, Carlos Rivas threatened for Orlando when he cut inside off the left wing and unleashed a strike towards the bottom corner, which was well saved by Evan Bush.
Montreal should have doubled their lead when Piatti was left unmarked on the edge of the box and had a clear target to aim at goal, but his shot went wide of the post.
Minutes later, Andres Romero also threatened when he bustled past Darwin Ceren, before curling a strike inches past the woodwork.
City almost got an equaliser as Brek Shea lifted a cross into the box for the run of Pedro Ribeiro, but he headed his effort straight at Bush.
The home side secured their victory in stoppage time when Oduro burst upfield and managed to slot the ball past Hall with the aid of a deflection.