German veteran Haas, who is retiring at the end of the year, was heading for a swift defeat after losing the opening set 6-2 but battled back to take the second on a tie break (10/8) before taking the decider 6-4, much to the delight of the home crowd.
Returning to action in Australia in January, Federer proved that reports of his demise had been greatly exaggerated as he ended a five-year wait for his 18th major triumph by beating Rafael Nadal in a thrilling five-setter.
"I've had enough breaks".
"I was terribly surprised to win the Australian Open and to back it up and win the sunshine double in Indian Wells and Miami was a complete surprise to me", Federer said. The German hasn't defeated Federer since the Halle final in 2012.
Haas, a former world number two but now at 302, was broken again as the Swiss served out the set on his first opportunity after 22 minutes and looked to be cruising to a comfortable victory.
His today's opponent is 4 years older, and this is something pretty alarming for the most successful player in the history of tennis.
Federer was playing his first tournament since he won the Miami Open in April after choosing to skip the clay court season to prepare for his favoured grass.
"I definitely was not as sharp as I was hoping to be in maybe the big moments, or the moment when I had the lead and where I feel I should have been cruising from that moment on". It was just the second loss of Federer's 19-2 season, the other being an upset by world No. 116 Eugene "Donkey" Donskoy in Dubai.
The contest between the pair was the oldest ATP singles contest since 1982 in Vina del Mar, where Ricardo Cano (30) beat Luis Ayala (49). "I am shocked myself". "There are no more breaks now", Federer told the official ATP website on Monday.
At the Ricoh Open in s'Hertogenbosch, second seed Alexander Zverev advanced to the quarter-finals with a 6-2 6-3 win over Adrian Mannarino of France.