Providers of NHS treatment are required from Monday to make sure patients in England are eligible for free care – and to charge them up front if not.
The measures apply to planned, non-urgent care – A&E, maternity, general practice and infectious disease treatment remain free to all.
The government hopes it will contribute to £22bn of savings needed in the NHS.
But the British Medical Association said the changes may prevent vulnerable people getting treatment they need.
Under the new measures, patients will be asked where they have lived in the last six months.
If they have lived abroad, they will be asked to show documentation that they are entitled to free NHS care, such as a non-UK European Health Insurance Card.
Hospitals and other parts of the NHS are also required to flag when a patient should be charged so that providers elsewhere within the health service can more easily recoup costs.
Health Minister Lord O’Shaughnessy said: “We have no problem with overseas visitors using our NHS as long as they make a fair financial contribution, just as the British taxpayer does.
“The new regulations simply require NHS bodies to make enquiries about, and then charge, those who aren’t entitled to free NHS care.”
But Dr Chaand Nagpaul, of the British Medical Association, which represents doctors, said the current proposals “lack clarity” and “run the risk of causing confusion”.
“It is vital that patients do not face bureaucratic or financial obstacles that prevent acutely sick and vulnerable individuals from seeking necessary treatment,” he said.
“This would be morally unacceptable and could end up costing the NHS more money due to lack of timely treatment.”
The government has previously estimated that up to £500m could be recovered from overseas visitors’ and migrants’ use of the NHS every year.
The BMA, at the time however, called that figure “exaggerated” and “unreliable”.