The hosts had already wrapped up top spot with a game to spare but were looking to respond after they were stunned 4-1 in the Premier League by Brighton on Saturday.
They made the worst possible start as they fell behind in the sixth minute when the Blues defence reacted poorly to a cross and Bruno Petkovic was able to head in from close range.
Chelsea initially struggled to create much in response but a well-worked move brought them their equaliser as Pierre-Emerick Aubameyang backheeled the ball to Raheem Sterling inside the box and he kept his cool to slot in.
On-loan Juventus midfielder Zakaria then marked a dream debut as he drove in a low shot midway through the first half that squeezed over the line despite a defender’s attempt to clear.
Dinamo needed to win to finish third and go into the Europa League and Edouard Mendy made a good save to deny Bosko Sutalo’s point-blank header early in the second half.
Aubameyang came close to adding a third for Chelsea when he powered a shot against the crossbar and Conor Gallagher was denied late on, but ultimately Zakaria’s goal was enough to seal the win for the Blues.
Chilwell concern for Chelsea and England
With the World Cup in Qatar around the corner, this is a nervous time for many players hoping to feature at the tournament as they look to avoid any late injuries.
This came close to being the perfect night for Chelsea but there was late concern as, deep in stoppage time, full-back Ben Chilwell fell to the floor after clutching his hamstring.
Chilwell looked understandably frustrated once he was able to get to his feet, but he continued to hold the back of his leg before needing assistance from Chelsea’s medical staff to get off the pitch.
England’s World Cup opener is against Iran on 21 November and Chelsea and England will both be hopeful the issue is ultimately not as serious as it looked.
Patience pays off for Zakaria
The defensive midfielder was signed on a season-long loan on transfer deadline day from Juventus by previous boss Thomas Tuchel, but he was overlooked for game time by the German and then his replacement Graham Potter.
However, the Switzerland international was a surprise inclusion in the starting line-up on Wednesday and he made the most of his chance.
On top of his goal, Zakaria was clearly determined to impress. He produced a busy performance and in the second half he made an excellent tackle to halt a Dinamo attack and immediately send Aubameyang away.
His display should ensure he will not have to endure another long wait to pull on a Chelsea shirt again.