The deal, sealed by lawmakers and EU country representatives Tuesday, also means Internet users will be able to access content without being unfairly slowed down or blocked, a concept known as net neutrality.
The agreement would see roaming charges abolished by June 2017. A transition phase will begin next April, when charges will already be four times lower for some consumers.
The deal was welcomed as "fantastic news" by British Prime Minister David Cameron, who has promised a referendum on his country's future in the EU before the end of 2017.
He said it "shows that the EU can show the flexibility and creativity to deliver changes that benefit people in this country and across Europe."
From April 30, a maximum roaming surcharge of 5 euro cents per minute will be allowed for calls, 2 euro cents for text messages and 5 euro cents per megabyte for data.
But roaming providers will be allowed to charge a small basic fee in case of abuses. It could be applied in cases where a person buys a SIM card in a European country with low prices and permanently roams, rather than paying for costlier services where he or she lives.
Top EU top digital affairs official Guenther Oettinger welcomed the move, saying that cuts to roaming charges and net neutrality are "essential for consumers and businesses."
The deal, once approved by EU nations and the full parliament, would allow Internet providers to use "reasonable" measures to manage online traffic, but blocking would only be allowed in limited circumstances, such as dealing with cyber-attacks.
Also on HuffPost: