The case, brought by Austria and Slovenia, could affect the future of several hundred people who arrived during the migrant crisis of 2015-16.
The ruling concerns two Afghan families and a Syrian who applied for asylum after leaving Croatia.
The court says it is Croatia’s responsibility to decide their cases.
The crisis unfolded during the summer of 2015, as one million migrants and refugees travelled through the Western Balkans.
Under the so-called Dublin regulation, refugees typically have to seek asylum in the first EU state they reach. But Germany suspended the Dublin regulation for Syrian refugees, halting deportations to the countries they arrived in.