Del Potro broke his Swiss opponent's serve in the final set to go up 2-0 and held on for a 7-6 (7-3), 4-6, 6-3 victory. Federer is a six-time champion at the ATP Worlds.
Del Potro and Federer, who had earlier clinched a berth in the semifinals, will lead Group B with identical 2-1 records in the round-robin tournament. World No. 1 Novak Djokovic of Serbia and Britain's Andy Murray advanced in Group A.
The semifinals will be played Sunday, followed by the championship match Monday.