New York City extended their lead at the top of Major League Soccer's Eastern Conference with a 3-1 win against Montreal Impact.

Patrick Vieira's team bounced back from Monday's defeat against Sporting Kansas City by brushing aside a Montreal side that were unbeaten in six league games.

David Villa opened the scoring 10 minutes before the break, slotting in his 13th goal of the campaign before 19-year-old English midfielder Jack Harrison curled in a second in first-half stoppage time.

Harry Shipp pulled one back for the hosts in the 55th minute but Frank Lampard restored the two-goal cushion with a deflected shot, his fifth goal in six games.

City's lead is now three points as second-placed Philadelphia Union drew 2-2 with New York Red Bulls, who are a further two points back in third.

Sacha Kljestan's first-half brace appeared to be sending the Red Bulls to a comfortable victory but Philadelphia hit back with two goals in as many minutes, first a penalty from CJ Sapong before Chris Pontius equalised in the 68th minute.

Union held on for a point despite having Ilsinho sent off for elbowing Connor Lade with 18 minutes left.

Portland were the winners in Sunday's other game, the Timbers securing a 3-1 home victory against Seattle Sounders.

Diego Valeri scored either side of half-time while Fanendo Adi added a third in the 64th minute, five minutes after Chad Marshall had pulled a goal back for Seattle.