The agreement will scrap roaming charges imposed on EU citizens who use their mobile phones in other member states from June 15, 2017.
But providers would still be allowed to apply a "fair use policy" to prevent "abusive" use of roaming, a statement from the European Council said.
A first move towards "net neutrality" is also being introduced under which operators will be obliged to treat all traffic equally when providing Internet access services.
Roaming fees are already set to fall from April next year, when caps of five cent per minute for calls, two cent for SMS's and five cent per megabyte of data will be imposed.
The deal was reached between the Latvian presidency of the EU and the European Parliament after overnight talks and was described as "provisional".
The agreement needs formal approval by the bloc's parliament and 28 governments.