Federer, a six-time champion of the season-ending tournament, claimed a 4-6, 7-6 (7-2), 7-5 victory to complete Sunday's final four of the elite eight-man field.
The Swiss superstar finished Group B with a 2-1 record and will meet Group A winner Rafael Nadal in one of Sunday's semifinals. Novak Djokovic, the Group B winner, will take on another Swiss native, Stanislas Wawrinka, in the other semi.
Saturday's match between Federer and del Potro was the third in as many weeks for the duo. Federer dropped a three-setter in the Basel final before coming back and capturing a three-set quarterfinal at the Paris Masters last week.
Del Potro built a 5-1 lead in the first set Saturday with a pair of breaks, but Federer showed some resolve with a break to pull within 5-4. He had chance to square the set with another break point in the 10th game, but del Potro came up with an ace and won the next two points to finish the set.
An early break in the second gave the Argentine the edge, but Federer broke back in the sixth game and the set went to a tiebreaker, which the 17-time Grand Slam champ dominated. He opened a 4-1 lead and closed the set with an ace.
Once again, del Potro took the early advantage in the third with a break for a 2-0 lead, but Federer returned the favor with a break in the fifth game. He then secured his second break of the set for a 6-5 edge and went on to serve it out with an ace to finish.
It's now on to one of the great rivalries of the last decade.
Nadal, who finished 3-0 in his round-robin action this week, owns a 21-10 lifetime record against Federer since the two first faced each other in 2004. The Spaniard has won all three meetings this year, including a 6-1, 6-3 pounding in the Rome Masters final back in May.
Federer, however, has won the last two matchups at this event -- a 6-3, 6-0 rout in round-robin play two years ago and a three-set triumph in the 2010 final.
With just one title in 2013, it's been a rough year for Federer, who has failed to reach the semifinals of this event just once in 12 appearances. He was the runner-up last year to Djokovic and last won this title in 2011.
Nadal has never won the season-ending tournament, but has already locked up the year-end No. 1 ranking.