Carlos Alcaraz beat Jordan Thompson 7-5 4-6 6-3 at the Cincinnati Masters to get his 50th win of the season.