Slovenia has agreed to lift its veto on Croatia's EU membership bid, after both countries agreed to drop an 18-year-old border dispute from negotations with the 27-nation bloc.
The deal will allow Croatia to resume talks with the union, following a 10-month stall due to objections by Slovenia, an EU member.
Slovenia said it would not block its neighbour from talks if Croatia withdraws maps and files relating to the dispute from EU negotiations.
Prime ministers from both countries made the agreement at a meeting in Llubljana, the Slovenian capital, on Friday.
"The government will immediately propose [to parliamentary committees] that Slovenia removes restraints for Croatia's EU negotiating process," Borut Pahor, Slovenia's prime minister, said.
"The winners today are both of our states."
Fredrik Reinfeldt, EU president and Swedish prime minister, welcomed the agreement.
"We are ready to go ahead with the Croatia accession negotiations," he said. "This will enable us to de-block the negotiations chapter for Croatia."
Slovenia has blocked Croatia's talks to join the EU since December 2008 over a border row dating back to 1991, when both countries proclaimed independence from the former Yugoslavia.
Slovenia, with has less than 25km of Adriatic coastline between Italy and Croatia, wants its border to include a channel for open sea access.
The two countries also claim coastal territory covering several bordering villages.
Ljubljana has demanded guarantees on access to its territorial waters and had refused to open any new chapter out of the 35 that make up Croatia's membership bid.
Croatia has now agreed not to claim disputed areas during the EU talks, and the border issue will be addressed in the future, Jadranka Kosor, the Croatian prime minister, said on Friday.
She also said an EU-Croatia accession conference could possibly take place "by the end of this month".
But it is unclear when Croatia, which had originally hoped for a 2011 entry date, might be able to finalise EU membership negotiations.