NEW YORK (AP) — Victor Vazquez drilled a penalty kick past Sean Johnson in the first minute of stoppage time to ensure Toronto FC escaped with a 2-2 draw against New York City FC on Wednesday to take a narrow lead in the MLS.

Jordan Hamilton was clipped and taken down by New York City's RJ Allen in the area in the 90th minute. Vazquez stepped up to the spot and kicked his fourth goal of the season.

Toronto moved to 39 points after its sixth draw of the season, moving a point ahead of Eastern Conference rival Chicago.

After Ashtone Morgan gave Toronto an early 1-0 lead, New York City, I third place with 34 points, responded with back-to-back goals.

Reigning MVP David Villa netted his 13th goal of the season in first-half extra time, and Maximiliano Moralez made it 2-1 in the 56th.

Toronto was playing without Jozy Altidore after he was called up to the U.S. national team for the Gold Cup.

In other MLS games, New York Red Bulls thrashed San Jose 5-1, with Daniel Royer scoring twice within two minutes, Montreal edged Philadelphia 2-1, Houston and Minnesota played to a 0-0 draw, Real Salt Lake pounded Portland 4-1, Seattle rallied from a three-goal deficit to edge D.C. United 4-3 and Vancouver had a 1-0 win over Los Angeles.

At Harrison, New Jersey, Royer scored in the last minute of regulation time and the first minute of stoppage time against the Earthquakes to lift his season tally to seven goals.

The five goals are the most the Red Bulls have scored this season and the most the Earthquakes have allowed.

Seattle scored four goals in a 27-minute span in the second half, with Cristian Roldan's strike from 12 yards in the 78th giving the home team victory.

Will Bruin, Brad Evans, and Gustav Svensson also scored for Seattle (7-7-6), with the four goals coming in a 27-minute span.

It was the second home game this season in which Seattle came from 3-0 behind to get points. The first one was on April 29 against New England, ending in a 3-3 draw.

"I think the guys are relieved, like I was," coach Brian Schmetzer said. "They obviously put their heart and soul into this match. Had the result not gone our way, I think I still would have been proud of the effort they showed in the second half."

Deshorn Brown and Ian Harkes scored in the first half, and Lloyd Sam added a second-half tally for the Washington club, which remained last in the league.

At Portland, Joao Plata scored twice and Kyle Beckerman added a goal before receiving a red card in Real Salt Lake's victory.

The eventful match featured seven yellow cards and three red cards.

In the 53rd minute, Portland's second-half replacement Victor Arboleda was shown a red card for running into Plata with an apparently high elbow.

Two minutes later, Beckerman was called for a foul on Adi, who retaliated and knocked him to the ground with a chest-bump. After the ensuing fracas settled down, both players were shown red cards, leaving Salt Lake with 10 players and Portland with nine.