Having led through Nikola Vlasic's early strike, Zlatko Dalic's men were pegged back before half-time as Callum McGregor notched his country's first Euros goal since 1996.
However, the Croatians' class eventually told, the evergreen Luka Modric netting a stunner before the influential Ivan Perisic headed home from a corner late on, equalling his country's record for the most goals at major tournaments (nine).
And that ensured the visitor clinched second place in Group D while bringing an early end to the Scots' first major tournament appearance since 1998.
Encouraged by an electric atmosphere at Hampden Park, Scotland made the better start.
But it failed to make the most of its best chance of a frenetic opening period, with Che Adams unable to get a touch on a John McGinn inswinger, allowing Dominik Livakovic to make the save.
And Croatia was not as generous when its first major opportunity came, with Vlasic making the most of space in the box to finish ruthlessly from a Perisic knockdown.
Scotland's chances were dealt a further blow just past the half-hour mark when Grant Hanley limped off, and his replacement Scott McKenna made an inauspicious start that saw a yellow card before a touch of the ball.
However, the Scots levelled things up just before the break when McGregor deftly controlled a panicked clearance before thrashing a low shot into the corner.
With a draw guaranteed to send both sides crashing out, it was no surprise to see them take more chances in looking to carve out attacks in the second period.
Croatia almost made it count when only brave goalkeeping from David Marshall prevented Josko Gvardiol poking home, though the same man was fortunate McGinn could only fire wide after getting on his wrong side moments later.
But it was a moment of sheer quality that eventually broke the deadlock, Modric curling home a beauty with the outside of his boot after slick play around the Scotland box.
The host huffed and puffed in the aftermath of that strike but did not really look like scoring before Perisic wrapped things up, flicking a front-post header into the far corner to send his side through.