Skipper Yasser Al-Qahtani put Saudi Arabia ahead in the 35th minute through a powerful shot from outside the area.
Yuji Nakazawa leveled the score just two minutes later when he capitalized on a misjudgment by the Saudi keeper to head home a cross from the left.
Ahli Jeddah in-form striker Malek Moez restored the lead for Saudi Arabia three minutes after re-start with a superb glancing header past Japan keeper Yoshikatsu Kawaguchi.
Yuki Abe scored the equalizer again in the 54th minute with a brilliant acrobatic volley but Moeaz sealed the victory for Saudi Arabia through a sublime effort.
He sidestepped a defender inside the area, bamboozled the second and a hit a powerful shot into the back of the net.
Three-time Asian champions Saudi Arabia will meet Iraq in the Asian Cup final on Sunday.