Around 150 far-right extremists gathered in the small town of Göppingen in Baden-Württemberg. After word spread of the event, over 2,000 people came from all over Germany to protest it.
Police arrested 101 counter-demonstrators, most thought to be left-wing activists. Forty-five criminal offences were recorded and investigators are looking into whether a fire on the train tracks between Stuttgart and Ulm was set by people involved with the protest.
Over 1,500 police officers were present at the march, which began at 3pm, by when violence had already erupted among those who had turned up to derail it. Twenty-two of the 28 officers injured were affected by tear gas sprayed into the crowds.
Three were hit by flying stones, two sustained ear injuries from fireworks and one was sprayed with pepper spray. Three police horses also had to be treated for injuries.
Göppingen police chief Martin Fiegel claimed that some officers were deliberately targeted by protesters.
The afternoon turned ugly when a large group of people tried to break through a police blockade. When officers tried to stop them, some counter-demonstrators became violent.
Police said that while organisers had expected 400 neo-Nazis to attend, only 150 did.
Göppingen authorities had previously tried to stop the neo-Nazi march from happening. The council succeeded in getting a ban put on the event, but this was lifted on Friday by a Baden-Württemberg court.