The noontime rally and march Saturday in Staten Island was led by the Rev. Al Sharpton and relatives of Eric Garner, who died last month. Sharpton and Garner's relatives spoke at the rally.
Garner's widow, Esaw, urged the crowd to march in peace toward justice.
"Even my two sons, I don't want the, to go outside, I'm scared for them to go outside," Esaw said.
The marchers, starting at the intersection where Garner was first confronted, walked behind a banner that said: "We Will Not Go Back, March for Justice."
Police estimated that 2,500 people had taken to the streets.
More on the marchers:
James O'Neill, chief of patrol with the NYPD, credited the march organizers with helping to keep things orderly. "Everything is good," he said.
Sharpton had earlier warned marchers to remain nonviolent or go home Saturday. He spoke at the Mt. Sinai United Christian Church on Staten Island, telling about 100 people that violence was unacceptable at the rally.
He also repeated his call for a federal takeover of the criminal probe into the death of Garner, who was put in a chokehold after officers with the New York Police Department stopped him for selling loose cigarettes.
Many in the crowd carried signs. Some said: "Police the NYPD" or "RIP Eric Garner." But the most popular signs were "Hands Up, Don't Shoot," which emerged during protests in Missouri over the police killing of Michael Brown, and "I can't breathe," Garner's last words.
The marchers walked alongside dozens of police officers in parade gear, including polo shirts and pants. There were also officers in formal blue uniforms, but none had riot gear.
The rally proceeded past the office of Staten Island District Attorney Daniel Donovan, who this week sent the case to a grand jury.
Before the rally:
Sharpton recently toned down some of his fiery rhetoric and pledged a peaceful march.
Several businesses shut down for the day, though owners and their employees, like deliveryman Henry Renard, are not happy about it.
"It hurts your money, it hurts your pocket, it hurts my pocket, it hurts the owner's pocket," he said. "It hurts the pocket of everyone in the neighborhood. But if they feel they need to do something prove a point, then they have to do what they have to do, but it hurts other people."
Most owners say they're closing because it's not practical with streets closed and no parking, but a few admit that they've seen the trouble in Ferguson, and they're concerned about possible violence here.
"Fear of some broken windows, I don't think there's going to be major damage," bagel store owner Stefano Manningo said. "But I'm sure there's going to be broken windows around."