Several thousand protesters rallied in Rome on Saturday to protest against what they criticised as unfair anti-migrant policies promoted by far-right Interior Minister Matteo Salvini.
Italy's Senate, backed by Salvini's Northern League party and the anti-establishment Five Star Movement, voted to clear the way for a decree that makes it easier to expel migrants and strip some of them of Italian citizenship.
The protest was to "say no to Salvini and no to racism", said Sergio Serraino, a member of an association that helps migrants, who was taking part in the protest.
The lower house of parliament now has until the end of November to approve the decree, which ends "humanitarian protection" residency permits -- a form of lower level asylum status in Italy. It also allows a fast-track of expulsions for "dangerous" asylum-seekers.
The United Nations refugee agency has said the decree does not provide enough guarantees for the vulnerable or those with particular needs such as victims of abuse or torture.
Salvini, whose far-right party forms a ruling coalition with the Five Star Movement, accuses other EU members of letting Italy shoulder an unfair share of migrants.