Croatia win extends 'brave' Scotland's worst losing streak in five years
Steve Clarke's side took a shock lead through Ryan Christie's first-half goal at the Stadion Maksimir.
But Igor Matanovic equalised before the interval and Kramaric bagged the winner midway through the second half.
Scotland have lost four successive games for the first time since 2019.
They arrived in Zagreb winless in their last eight competitive matches, the longest streak in their history, and that dismal run has now reached nine.
Scotland have mustered just one win in their last 15 matches, a 2-0 victory over minnows Gibraltar in June.
"I thought we were brave with the ball. We tried to play, tried to create chances. On another night we would've got what we deserved," Clarke said.
Having crashed out of Euro 2024 at the group stage, the Scots sit bottom of Nations League Group A1 after defeats against Poland, Portugal and Croatia.
In Clarke's defence, he is dealing with a debilitating injury list that denied him the services of James Forrest, Kieran Tierney, Jack Hendry, Tommy Conway, Aaron Hickey, Nathan Patterson and Lewis Ferguson.
Even so, another loss when Portugal visit Hampden Park on Tuesday would add to the pressure on the Scotland boss.
"We'll go away lick our wounds and prepare to go again on Tuesday," he said.
"A full squad fit and healthy would be a help. There's so much disappointment in the dressing room, but I feel like we're on the right path.
"We haven't regressed. We just have to keep believing, keep pushing away."