Hooded protesters hurled rocks and firecrackers at police, causing some 20 injuries to officers, according to authorities.
One protester was seriously hurt -- losing a number of fingers -- after a firecracker apparently exploded prematurely in his hand.
According to the interior ministry, six people were taken into custody.
Protest organisers said 15,000 people had taken part in the rally but police could not confirm that number.
The demonstration -- made up of workers, students, and anti-austerity campaigners -- started peacefully but turned violent when the group reached the Ministry for Industry in the city centre.
Flag-waving protesters shouted slogans against government employment reform plans, and carried banners reading "housing, income, dignity", and "you can call us NEET", the English acronym for people not in education, employment, or training.
"Our situation is precarious, and we are angry", one banner read.
Protesters threw eggs and oranges at government buildings before turning on police, while officers tried to disperse the crowd by surging towards the group and blasting them with tear gas, leaving many protesters fleeing down side streets.
Italian Prime Minister Matteo Renzi, who came to power in February, has put forward an ambitious economic reform programme which will see public spending reduced by €4.5 billion ($6.2 billion).
With the country's unemployment rate reaching a record 13 percent in February, he says reforms are a "precondition for economic recovery".
He said last week that changes were needed because in Italy "there are those who have taken much, too much over the years, and it is time they give some back".