Zlatko Dalic's side had lost its previous Group E game against Hungary in March, but got back on track thanks to James Lawrence's first-half own goal and Perisic's 48th-minute strike after some shambolic Wales defending.
Lawrence was unlucky to put through his own net, failing to sort his feet out when racing back towards goal, and the Anderlecht defender was one of three Wales players whose failure to clear allowed Perisic to increase the hosts' lead.
Substitute David Brooks's deflected effort 13 minutes from time gave Ryan Giggs's men hope of a comeback but they could not force an equaliser as the FIFA World Cup runner-up held on for victory.
An eventful opening saw Perisic twice blaze over, either side of Harry Wilson volleying an even more presentable chance straight at Dominik Livakovic from Gareth Bale's quick-thinking long throw.
Wales was made to pay for that miss in the 17th minute as Perisic got in behind down the left and drilled a low cross towards Andrej Kramaric that Lawrence deflected in.
Kramaric fired off-target as Croatia sought a second prior to half-time, although it was almost caught cold as Livakovic saved from Will Vaulks and then thwarted Ben Davies's rebound.
Within three minutes of the restart, Croatia doubled its lead as Wales gave the ball away and failed three times to clear its lines, allowing Perisic to rifle home.
Bale shot straight at Livakovic when well placed but the Croatia goalkeeper was completely wrong-footed when Brooks's attempt flicked off Domagoj Vida's head and in.
Brooks's weak effort in stoppage-time proved the last chance for a dramatic leveller as Wales was made to rue leaving itself a mountain to climb in searing 30-degree heat.