With both teams facing a win-or-go-home scenario, Portugal took a crucial early lead through 27-year-old Porto attacker Otavio, who pounced on the rebound from Bernardo Silva's shot as it caromed off the post and into his path.
Turkey were undeterred by the two-goal deficit, though, and cut the hosts' lead in half on 65 minutes when Burak Yilmaz put the finishing touches on a nifty give-and-go with Cengiz Under to put his side right back in the contest.
VAR handed Turkey a golden chance to level the score from the penalty spot after a pitchside review showed Jose Fonte fouled Enes Unal in the area, but Yilmaz skied his effort over the crossbar as Portugal hung on to their lead.
Matheus Nunes put Portugal fears to rest in second-half stoppage time, beating Cakir on the tail end of a clever move to help his side advance to their respective playoff final.
"I wasn't upset with the team but we played with fire today," Santos told reporters. "We had the game under control but slowed down. Obviously the players are not machines, we didn't manage to score for 3-0 and those things can happen in football. But I'm glad we reacted very well. That moment [the penalty] could have been difficult for us."
"We need to show the same respect to North Macedonia that we would to Italy," Santos said.
"I told you before we could be playing them, those games are not a joke, it's like a final and anything can happen. You have to face it with the focus and concentration that it deserves. A team that goes to Italy and beats the European champions doesn't need introductions."
Goalscorer Nunes echoed his manager's sentiments on Portugal's upcoming opponents.
"We can't think it will be easy against North Macedonia," Nunes said. "Now we have to rest and work for the game plan. It's a team that deserves all our respect. They went to Italy and won, you have to have quality to accomplish that."