EU governments have said roaming charges for mobile phone users travelling in the 28-member bloc should remain at least until the end of 2018.
The decision is seen as a challenge to both the European Parliament and bureaucrats at the European Commission.
They had said charges were too high and called for roaming charges to be scrapped by the end of 2015.
An end to roaming charges would bring economic benefits to the EU's 500 million citizens, they argue.
At a meeting in Brussels, EU member states agreed a common position to allow large mobile phone firms to continue levying extra charges on travellers for at least another three years, when the situation could be reviewed.
Governments said consumers should be given a small roaming allowance to use outside their home country from the middle of next year, but any usage above it should still be subject to further charges.
Some members of the parliament immediately criticised the decision.
Current maximum roaming charges in EU
- Downloading data/browsing: 20 cents (15p) per megabyte
- Making a call: 19 cents (14p) per minute
- Receiving a call: 5 cents (4p) per minute
- Sending an SMS: 6 cents (4p)
Source: European Commission
The Alliance of Liberals and Democrats said: "The only winners from it are national telecoms operators themselves. Member states should hang their heads in shame."
European consumer groups, speaking through an umbrella organisation, the BEUC, condemned the plan as "outrageous". "Roaming is not justifiable in a single market," they said.
The UK said last year that it would work with other countries, including Germany, to abolish mobile roaming charges across the EU, but it has had to agree a compromise with other member states.
The member states must now agree a common position with both the European Parliament and Commission before changes take effect, so negotiations in the coming months are likely to be hard-fought.