Several thousand protesters have marched in Rome to protest against what they criticised as unfair anti-migrant policies promoted by far-right Interior Minister Matteo Salvini.
Waving banners with slogans "Black lives matter" and "Welcome for all; Open the borders", leftists joined anti-racism activists who organisers said came from 50 cities to defend migrants and protest a recent decree on asylum rights.
Italy's Senate, backed by Mr 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 would also allow for the fast-tracking 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.
Mr 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.