The Dragons did well to keep their hosts at bay until the 27th minute, when goalkeeper Lewis Price tried to clear a weak Ashley Williams back-pass but was charged down by Mario Mandzukic, who tapped home.
Former Arsenal forward Eduardo then made it 2-0 after the break with a close-range finish.
It was no less than Croatia deserved from a match in which they were superior throughout.
Wales, meanwhile, after bouncing back from a 2-0 loss to Belgium and 6-1 thrashing in Serbia in their opening two Group A fixtures with Friday’s morale-boosting 2-1 win over Scotland, have been very much brought back down to earth and might well feel grateful they were not beaten by more.
Croatia bossed possession from the very early exchanges and Ivan Rakitic saw a shot blocked before Eduardo sent an effort from the edge of the box into the arms of Price, who then got down to push away a Darijo Srna free-kick.
Wales made their first real foray forward in the 12th minute as Gareth Bale earned a throw-in he could only deliver straight to goalkeeper Stipe Pletikosa.
The hosts were soon back on the attack, with Luka Modric bursting into the box and tumbling under a challenge from Darcy Blake. Croatia supporters cried out for a penalty but referee Alexandru Dan Tudor waved play on.
Price was being kept busy, saving further shots from Rakitic and Milan Badelj, although in between Bale fashioned the visitors’ most meaningful effort yet with a strike that fizzed wide.
The Tottenham winger – who had been the star of the show on Friday with two late goals – then won a free-kick in a dangerous position, but when he swung it into the area Pletikosa came to punch the ball out.
Wales had managed to absorb a considerable amount of pressure from their opponents, but they shot themselves in the foot just before the half-hour mark when Price struck skipper Williams’ back-pass – which appeared to have been slowed down by the poor playing surface – against Mandzukic, who calmly guided it into the net.
Eduardo then completely miscued an attempted header, while at the other end, another Bale free-kick amounted to nothing.
Croatia kept pressing, with Wales surviving a scramble in the box when Price denied Eduardo.
There was no let up after the break for the Dragons, with Williams managing to deflect the ball over when Modric and Eduardo combined two minutes into the second half.
Wales did then muster an effort as Williams nodded wide from a free-kick, but normal service swiftly resumed, with Ivan Perisic heading off-target and Price just managing to keep out Eduardo and Mandzukic.
Eduardo was looking particularly threatening and he was rewarded with a goal in the 58th minute, on hand to tap in after Price had parried a header from a corner.
Eduardo then had another shot saved, before Andy King – in the Wales team for the suspended Aaron Ramsey – wasted a chance to pull a goal back, seeing Pletikosa save his header.
Another scramble ensued in the Wales box that somehow did not result in a third Croatia goal before Price saved a Mandzukic header and Modric drove wide.
Bale beat several men towards the end and drilled in a low effort that Pletikosa could not hold, but substitute Sam Vokes blasted the rebound off-target.