Nalbandian, who beat world numbers two and three Rafael Nadal and Novak Djokovic on his way to the final, looked out of it after Federer raced through the first set.
But he dug deep at the start of the second, becoming the first player to crack the Federer serve this week when he broke in the second game of the second set and kept his nerve to level the match.
Nalbandian gained the edge in the deciding set when he took advantage of some uncharacteristic errors by an uneasy-looking Federer to break in the third and kept the Swiss on the ropes before cracking his serve again to claim victory.