Top-seeded Marin Cilic will face Jurgen Melzer in the Zagreb Indoors final on Sunday.
Cilic rallied past defending champion Mikhail Youzhny 4-6, 6-4, 6-3 Saturday, while Melzer defeated Robin Haase 7-6 (2), 6-3.
Cilic was given two time-violation penalties before advancing to his 16th career final. He was penalized for the first time in the opening set and again in the third, when Youzhny took a 3-2 lead but failed to win another game.
Youzhny received treatment to his left leg at the beginning of the first set, but downplayed the problem.
"I would not even call it injury. It happened during the match, it was kind of tightness," he said. "Marin played very well."
Cilic, who owns a 6-2 record against Melzer, is aiming for his ninth career title.
Melzer won 33 of 36 points on his first serve to advance to his 12th career final.