David Villa scored twice to lead New York City to a 4-0 win over Colorado Rapids in MLS, while Los Angeles FC lost at Portland Timbers.

Spain's all-time leading goalscorer Villa, 36, was the hero on Saturday as he helped end NYC's two-match winless streak.

Villa was honoured for his 400th career goal prior to kick-off at Yankee Stadium – where Manchester City captain Vincent Kompany was in attendance – and the former Barcelona forward set the tone with his 22nd-minute opener.

An attempted clearance from Rapids goalkeeper Tim Howard was intercepted by New York as Villa curled the ball past the ex-Everton stopper following Maximiliano Moralez's pass.

Ronald Matarrita doubled the lead four minutes into the second half before Villa turned provider for Moralez seven minutes later.

Villa sealed the points with 16 minutes remaining when he curled another shot beyond Howard.

New York moved within a point of Eastern Conference leaders Atlanta United, who are due to play New York Red Bulls on Sunday.

LAFC fell to a 2-1 loss to the in-form Timbers in Portland, where Carlos Vela's equaliser was not enough for the visitors.

Former Real Sociedad star Vela levelled proceedings in the 74th minute to cancel out Cristhian Paredes' first-half opener.

But the Timbers were not to be denied – Samuel Armenteros restoring Portland's lead seven minutes later to make it five wins in succession.

The Timbers are only three points behind second-placed LAFC and six adrift of Western Conference leaders Sporting Kansas City.

Elsewhere, Philadelphia Union eased past Real Salt Lake 4-1, Vancouver Whitecaps claimed their third consecutive draw after scoring twice in the final eight minutes to secure a 2-2 draw at Dallas, Columbus Crew edged New England Revolution 1-0 and DC United defeated San Jose Earthquakes 3-1.