Forty-five non-Swedish demonstrators were in custody late Saturday pending expulsion from the country, police said in a statement. Media reports indicated they were from Denmark, Germany and Norway.
Police rounded up 146 Swedes and removed them from the scene in Salem, just southwest of Stockholm, to prevent public disturbance.
Only one person was under arrest on suspicion of violence against a police officer, police said.
Two schools were set ablaze and demonstrators threw stones at police and emergency service crews during the demonstrations.
Neo-Nazis have since 2001 held an annual torchlight procession in the town of Salem on December 8 in memory of a 17-year-old boy beaten to death by a non-Swede in 2000.
Their march traditionally draws a counter-demonstration by anti-racist activists, and has in the past led to violent clashes.
According to police, some 1,000 neo-Nazis and up to 750 anti-racists took part in the demonstrations on Saturday.
A massive police deployment was on hand to monitor the situation.
A group of fire fighters came under attack on Saturday afternoon as they attempted to battle blazes at least two of schools in Salem. Police were unsure of who was responsible for the attack.
“Somebody threw a torch or a missile into a school causing it to catch fire. When firemen made their way to the school they were attacked by stone-throwing demonstrators,” said police spokesman Leif Nordi.
Left wing extremists gathered after lunch in central Salem and began marching towards the site of the boy’s death. The marchers carried black and red flags and chanted anti-fascist slogans.
At 2.20pm two red flares were fired into the air, which police believe was a signal for the group to disperse. Suddenly hundreds of left-wing extremists rushed towards Rönninge station, arming themselves with various weapons along the way.
Almost all of the demonstrators had their faces covered with hoods and scarves.
At 6pm, right wing extremists began their torchlight procession towards the spot where the 17-year-old was killed.