Having sacked manager Ante Cacic and replaced him with Dalic after a disappointing 1-1 draw with Finland on Friday (Saturday AEDT), the Croatians still looked shaky, winning two corners in the first two minutes but doing little else in the opening half.
Needing a win over Ukraine to grab second place in the group, the home side took control, wasting two great chances around the half-hour mark, with Taras Stepanenko driving a powerful shot outside the post and Yevhen Konoplyanka heading just wide moments later.
The first half finished scoreless and there was little to suggest that Croatia had any chance of breaking the deadlock until Kramaric gave them the lead with their first effort on target.
Real Madrid star Luka Modric delivered a pinpoint cross from the right and the striker sent a powerful downward header into the corner of the net in the 62nd minute.
With just four points from their last four games amid some poor performances, the goal did little to settle the Croatian nerves as the Ukrainians, coached by former AC Milan and Chelsea legend Andriy Shevchenko, pressed forward in an attempt to get back in the game.
Instead, Kramaric scored again in the 70th minute, this time ghosting in at the far post to rifle a deep ball from Ivan Rakitic into the goal to the obvious relief of his team mates.
With Iceland coasting to a 2-0 victory over Kosovo to win the group on 22 points, Croatia took second place on 20 with the Ukrainians finishing in third on 17.
Croatia will now face playoffs in November to book a place in Russia next year.