Yaw Yeboah broke a 1-1 tie, scoring the winner for the Crew (10-6-4, 34 points) in the 62nd minute as they recorded their fifth win of the unbeaten run.
They are 8-1-2 at home, where they have an MLS-best 29 goals.
Hernandez put Columbus ahead 1-0 in the 19th minute before Elias Manoel equalized in the 38th for the Red Bulls (5-7-8, 23 points), who failed to win consecutive games for the first time since August of last season.
Yeboah's goal set off a frenetic sequence. Hernandez sent Mohamed Farsi into the right corner, and Farsi dribbled along the end line before Yeboah first-timed his cross. New York goalkeeper Carlos Coronel got his left arm on the shot, but the ball squirted behind him and across the line.
Crew goalkeeper Patrick Schulte tripped Fernandez, earning a yellow card.
The Red Bulls' last chance to score came in the seventh minute of stoppage time and was snuffed when Schulte went high to grab a corner kick.
Alexandru Matan picked up an assist on the opening goal of the match with a cross on the ground that Hernandez backheeled at the right post.
Hernandez, who had a streak of nine straight matches with a goal contribution end in the previous match, scored his fifth goal of the season.
Manoel tied it after the Crew tried a breakaway started by Schulte that was turned the other way. That allowed Fernandez to make a run to the end line and send a service to the middle of the box for a Manoel header and his second goal of the season.