With their third consecutive win, and fourth game without a loss, NYCFC (4-3-4) moved into a first-place tie in Major League Soccer’s Eastern Conference with the Montreal Impact. Portland (3-6-3) dropped its third straight game.
After absorbing pressure in the opening moments, NYCFC jumped in front, 1-0, on Villa’s eighth goal of the season, tying him with Toronto FC’s Sebastian Giovinco for most in MLS.
RJ Allen dispossessed Darlington Nagbe and threaded a sublime through ball to Villa, who took a touch before slotting the ball inside the far post from 12 yards out in the 12th minute.
Fanendo Adi leveled with his eighth goal of the year from 15 yards in the 55th minute.
But McNamara responded 10 minutes later with his third goal of the year, a wonder strike into the upper right corner of the net from 25 yards out. Khiry Shelton started the sequence with a cross from the corner flag to Andrea Pirlo, who settled the ball and slipped it to McNamara.
The goal came immediately after a spectacular saving tackle from Ronald Matarrita on Lucas Melano.
Jason Hernandez was a big reason why Portland was kept off the scoreboard in the first half, bravely diving to block a Diego Valeri shot after Josh Saunders came off his line to challenge.
After blocking another Valeri shot in the 16th minute following an Adi layoff , Hernandez came up with a well-timed slide tackle after Adi pulled off his jersey in the 39th minute.
Two minutes into the second half, Saunders made a spectacular save, diving to his right to get a fingertip on a Nagbe attempt from 12 yards.