The No.1 seed is targeting his third ATP title of the season, having already triumphed in Melbourne and Washington.
The Italian is yet to drop a set in the Bulgarian capital as he boosted his bid to reach next month’s ATP Finals with a 6-3 7-5 success.
Breaks were exchanged in the opening set before Sinner edged his nose in front, while he recovered from 5-2 down in the second by reeling off five successive games to prevail.
"It was a very tough match against [Krajinovic]," Sinner said. "We practise at times together, so we know each other's games a little.
"There was a chance to go to a tie-break, which I luckily avoided. I am happy to be in the final here again."
His opponent in the final will be No.2 seed Gael Monfils, who also advanced in straight sets after defeating Marcos Giron 7-5 6-0.
Despite being 4-2 down in the opening set, the world No.20 won 11 of the next 12 games against the American, who was appearing in his first tour-level semi-final having defeated Australia's Alex de Minaur along the way.
The Frenchman's progression means he has now reached at least one ATP final in each of the last 17 years; a tally only eclipsed by Rafael Nadal (18).
"I am very happy as I was very solid - it was a very physical match with lots of long rallies," Monfils, who also reached the semi-finals in Metz last week, said.
"I felt in his rhythm he was crushing the ball, so I wanted to change the speed a little and come to the net a little and step in. I think that was key for me."