Led by protesters holding a huge banner that read “Prevent the pogroms of tomorrow today”, the crowds held the peaceful march through the eastern city under the watch of police in riot gear.
“Say it loud, say it clear, refugees are welcome here,” they chanted.
Police said 1,000 people joined the protest, which was called by the Anti-Nazi Alliance, while organisers put the numbers at 5,000.
Dresden is the stronghold of the anti-Islam PEGIDA movement, whose demonstrations drew up to 25,000 at the start of the year.
The eastern state of Saxony, which counts Dresden as its capital, has suffered a series of ugly anti-migrant protests, with the government saying Friday it was sending police reinforcements to the state.
Heidenau, a town of around 16,000 inhabitants near Dresden, has become the focus of Germany's struggle to absorb a vast wave of asylum seekers that is expected to reach a record 800,000 this year.
Several dozen people were injured in clashes last weekend between police and far-right protesters opposed to the opening of a new refugee centre in the town.
Chancellor Angela Merkel was booed by far-right activists as she visited the centre this week, with about 200 people shouting “traitor, traitor” at her.
Merkel said there would be zero tolerance for “vile” anti-migrant violence.
Public opinion is largely behind her, with 60 percent of Germans polled by public broadcaster ZDF saying that Europe's biggest economy is capable of hosting the asylum-seekers.