The Serb, who has lost in five previous finals at the hardcourt tournament that serves as the last major tuneup for the US Open, is hoping to re-write a line in the record books by becoming the first man to win titles at all of the nine Masters 1000 events.
"Hopefully I can get it done this time," said Djokovic, who will line up on Sunday against either seven-time champion Roger Federer or Belgian David Goffin.
Djokovic had to work for more than two and a half hours to overcome Cilic, the 2016 champion in the combined WTA and ATP event.
Djokovic only secured his defeat of Cilic late in the final set, breaking for 5-3 and finishing off the hard-fought victory in the next game.
"It's tough, I'm very pleased to reach the final once more here," Djokovic said.
"It was a roller-coaster match," added the Wimbledon champion, who admitted he was distracted my loud music coming from outside the court early in the third set.
"It's been a difficult week with rain delays and all that was happening. I've been down in my last three matches but I've come back.
"Just a few points today decided it," added Djokovic, who saved nine of 12 break points and broke Cilic four times.
- Halep eyes 'big chance' -
On the women's side, world number one Simona Halep is hoping it will be third time lucky in Cincinnati after booking her finals berth with a 6-3, 6-4 victory over Aryna Sabalenka.
The Romanian lost a title bid in Cincinnati in 2015 against Serena Williams and came up short a year ago to Garbine Muguruza.
On Sunday she'll try again against Dutch outsider Kiki Bertens, who will be playing her third final of the season after wearing down a tiring Petra Kvitova 3-6, 6-4, 6-2.
"If I fight like I've done here, I will have a big chance," Halep said. "It will be a challenge for me to play another final here and try to win it."
World number 17 Bertens, who played and won two matches on Friday after rain interruptions this week, looked fitter that two-time Wimbledon winner Kvitova in hot, humid conditions.
"I'm feeling great, I'm so happy to win," she said after advancing on her first match point as Kvitova slammed a forehand into the net. "It was a tough match, but I'm so glad to be in the final."
Halep will be playing for her second major title in as many weeks after beating reigning US Open champion Sloane Stephens for the title in montreal.
Sabalenka, the 20-year-old number 34 who is still seeking a first career title, dropped the opening set on back-to-back double-faults.
Halep took advantage of the momentum with a break for 3-1 in the second set, only to immediately drop her serve.
Halep broke in the final game to move through as Sabalenka volleyed long on a second match point after 76 minutes.