Carlos Alcaraz battled to victory over Taylor Fritz in the ATP Finals, moving to within one win of securing the year-end No. 1 ranking for the second time.