Riot police in Milan came under fire from flares before their batons came down on protesters, who were marching forward behind a banner about education.
In Rome, officers outside the German embassy were covered in eggs and red paint, as a protest leader declared his opposition to the "politics of austerity".
Italy's finance ministry was also egged by protesters, while supporters from the USB labour union scaled the Colosseum, Italian media reported.
Four officers in Padua were injured, including local police chief Marco Calì, Corriere della Sera reported.
Elsewhere, thousands of public and private sector workers took part in peaceful demonstrations against government reforms, joined by students across Italy. Picket lines and protests were planned in 20 cities, backed by labour unions Cub, Usi and ADL Cobas.
The rallies were held in opposition to “the politics of liberalism and austerity,” Cobas spokesman Piero Bernocchi said in a statement.
“No to the politics of the Renzi government and the EU, no to the Jobs Act, the Stability Bill, the school plans and the Unblock Italy decree,” he added.
Higher pensions, a guaranteed minimum wage, investment in public services and greater housing rights are just some of the union’s demands.
As Italians took to the streets, strikes halted public transport in a number of cities including Milan, Rome and Turin, in the latest in a series of protests by Italians unhappy with government reforms.
As many as a million people marched through Rome in October, protesting against Renzi’s revamp of the labour market. The premier has faced most resistance to plans to scrap Article 18, a law which protects workers and Renzi argues creates a barrier for young jobseekers.
Unionists are also gearing up for a general strike on December 5th against Renzi's so-called Jobs Act. The eight-hour walkout was announced on Tuesday by Italy’s biggest trade union group (CGIL).