Andrew Tarbell made five saves for the Crew, who were 0-3-1 in the past four games. Johnson had six saves for NYCFC, which has two losses and a tie in the past three games.
Artur made it 1-0 by scoring from close range off a loose ball.
The Brazilian midfielder's first regular season goal in 104 career MLS games was the longest wait before scoring a league goal since Andrew Farrell's first in his 164th appearance for the New England Revolution in 2018.
Artur's previous goal also came against New York City but in the first leg of the 2017 Eastern Conference semifinal.
Santos made it 2-0 from a setup by Derrick Etienne Jr. Santos, who has six goals and five assists in the past 11 games, left in the 65th minute with a hip injury.
Columbus had been the lone MLS team this season not to concede a goal off a corner kick.
Castellanos received a yellow card in the 84th minute and will miss the next game vs. Montreal on Saturday because of yellow-card accumulation, as will Chanot.
The Crew plays at Houston on Saturday.