Valentin Castellanos' goal in the 36th minute gave New York City FC a 1-0 victory over Columbus at Yankee Stadium on Wednesday to end the Crew's six-match unbeaten streak.
NYCFC (12-5-8, 44 points) have won five of seven to move to within a point of Eastern Conference co-leaders Atlanta United and Philadelphia.
The Crew (7-15-6, 27 points) had a 2-0-4 run stopped and remained seven points from the playoffs with six matches left.
Castellanos continued his goal form with his fifth in the past four games. Maxi Moralez, as he's done so often this season, had the set-up.
He chipped the ball over a half-dozen Crew, and Castellanos ran onto it and easily beat goalkeeper Eloy Room from 12 yards for his 10th goal. Moralez added to his MLS lead with his 17th assist, one more than he had in 2018.
The Crew allowed the first goal for 19th time (1-13-5) this season, including for the eighth straight time on the road.
With this the second of three games in nine days for the Crew, Gyasi Zardes -- who is tied with Pedro Santos for the team lead in goals -- was not on the 18-man roster. Santos entered in the 46th minute.
The Crew opened the game with six lineup changes, and the lack of cohesion showed as New York dominated early. Room came up big in the 10th minute, stopping a low strike from Castellanos. He made another save in the 19th minute on Alexander Ring before Castellanos got the breakthrough goal.
Johnson finished with six saves to record his seventh shutout.
Room denied a break by Alexandru Mitrita in the 86th and a strike from 15 yards by Keaton Parks in the 94th.
The teams next play their rivals. NYCFC host the New York Red Bulls on Saturday, while Columbus makes its first trip to expansion Cincinnati FC on Sunday.