Watson, 27, won 6-4 7-6 (8-6) against the 18-year-old in the semi-final.
The British number two, who has not won a title since the Monterrey Open in March 2016, will play in her fifth tour-level final on Saturday.
She will face Canada’s Leylah Fernandez after she beat Mexican wildcard Renata Zarazua.
Watson, who is first Briton to reach the Acapulco final, has climbed up to 69th in the world after being ranked outside of the top 100 at the start of the year.
Victory in the final would move her into the top 50 for the first time since June 2016.
- Nadal through to Mexican Open final
- Live scores, schedule and results
- Alerts: Get tennis news sent to your phone