The Crew (8-11-6, 30 points) won for just the second time in 10 games.
New York (6-11-5, 23 points) has a win, six losses and four ties in the past 11 matches.
Berry, a rookie, has five goals in nine games. He put in a rebound of a Lucas Zelarayan shot. Berry entered in the 70th minute.
On Columbus' first goal, Alexandru Matan had the initial shot after challenging the backline with his speed. New York's Carlos Miguel Coronel made the save, but Nagbe had a powerful header from 10 yards for his second goal of the season.
The Red Bulls sit in 11th place in the Eastern Conference, four spots from a playoff berth, but they have at least one game in hand on the teams in front of them, including three on the ninth-place Crew.
New York has qualified for the postseason the past 11 years. Columbus is the reigning MLS Cup champion.
Klimala scored his first goal since Aug. 14 and fifth for the season on a second-chance ball.
Tom Edwards had a throw-in that the Crew's Gyasi Zardes cleared -- but not out of the box. Another clearance attempt by Columbus' Harrison Afful went to New York's Dru Yearwood, who found Klimala in the middle of the box.
Santos, a midfielder playing left back because the Crew is thin at that position, left the game on a concussion substitution and was replaced by Saad Abdul-Salaam.
Crew coach Caleb Porter told Bally Sports Ohio at halftime that the injury affected his team.
"They looked like deer in headlights," he said. "That wasn't a good half."