Theresa May has said she regrets saying EU workers will no longer be able to “jump the queue” after Brexit.
“I should not have used that language in that speech,” she told MPs during a debate on her Brexit deal with the EU.
But she said she stood by her point that migrants should be “judged” on their skills not “where they come from”.
SNP MP Philippa Whitford had called on the prime minister to apologise for her “thoughtless and insulting comments”.
“Last week the prime minister managed to insult and upset over three million European citizens, who live and work in this country,” said the Central Ayrshire MP.
“Over 150,000 of them – like my German husband, a GP here for over 30 years – felt absolutely thrown away, when they have spent decades here looking after us when we are ill.”
Mrs May said she had always strived to protect EU nationals’ rights during Brexit negotiations – and had “delivered” on that in the withdrawal agreement she agreed with the EU on Sunday.
The PM said the point she was trying to make was a “simple one”, that “most people here in the United Kingdom” want to see migrants “coming and making a contribution”.
“They want people to be judged on the skills and the contributions to this country rather than simply on where they come from,” she added.
Mrs May made the controversial remarks, which sparked a backlash, in a speech to the CBI, in which she vowed to end free movement after Brexit.
She said: “It will no longer be the case that EU nationals, regardless of the skills or experience they have to offer, can jump the queue ahead of engineers from Sydney or software developers from Delhi.
“Instead of a system based on where a person is from, we will have one that is built around the talents and skills a person has to offer.”
SNP leader Nicola Sturgeon said the PM’s words were “disgraceful” and they sparked a backlash on social media, with EU citizens living in the UK said the comments would fuel hate crimes against them.
The government says it wants the estimated 3.5 million citizens of other EU nations already living in the UK to stay after Brexit but they will have to apply for leave to remain.
It plans to publish its post-Brexit immigration policies shortly.