The Danish world No.8 and Brisbane International top seed was tested by the in-form Russian, who had slipped under the radar on his way into the final four.
Broken early in the second set, Rune smashed his racquet in frustration but then regrouped to break back.
He then saved break points again before executing a faultless tiebreak.
The 20-year-old will play the winner of Australia's Jordan Thompson, who beat Rafael Nadal on Friday night, and second seed Grigor Dimitrov.
"He's really hitting the ball hard, you have to be ready on your feet," Rune said of Russian world No.39 Safiullin, who saved five match points against Alexei Popyrin on his way to the semi-finals.
"I had one game where my feet were a bit slower and he was on me straight away.
"I was so frustrated after he broke me, lost complete focus.
"I needed to take my chances and I think I did well, to be honest, to counterpunch."
Rune turns 21 in April but has already been as high as No.4 in the world and won nearly US$8 million in prize money.
"I'll watch a bit (of the Thompson-Dimitrov match) with my feet up, enjoy it. It was a crazy match with Thompson and Rafa," he said.
"No matter who it's going to be, it's going to be a tough match."
t