Silva capped a breakaway in the 28th minute to tie it at 1. Silva ran behind Piatti's lead pass and slotted it past the onrushing goalkeeper from outside the penalty area.
Silva and Piatti connected with a give-and-go at the end of another breakaway in the 76th minute to cap the scoring.
Saphir Taider put back the deflection of Quincy Amarikwa's saved attempt to give Montreal (12-14-3) a 2-1 lead in the 39th minute.
Amarikwa made it 3-1 in the 63rd minute. Piatti fed Daniel Lovitz on a run up the left wing and Lovitz crossed it in to Amarikwa, who finished from close range.