The 19-year-old Thai, who had lost five times to the Chinese, produced some spectacular all court play in the final game to win the long tussle that lasted one hour and 24 minutes.
It is the second time that Ratchanok had reached a final this season. She lost to Wang Yihan in the Korean Open Super Series earlier this year. The last time she lifted a title was at the India Super Series last year.
She will play either world No 1 and London Olympics gold medallist Li Xuerui of China or countrywoman Nichaon Jindapon in the final today.