The 34-year-old German, who turned pro in 1996 and has won 13 career titles, reached the mark Thursday with a 6-4, 6-2 victory over American Jesse Levine in the second round of the Erste Bank Open.
"It's incredible I've reached that mark today," said Haas, who struggled with shoulder and hip injuries before returning to the top 20 this week. "I had hardly played for 3½ years before returning to the tour a year ago. I was even hungrier for success and getting to 500 wins became a major goal of mine."
Haas is the 38th player in the Open era to achieve the feat.
Jimmy Connors leads the all-time list with 1,243 wins, followed by Ivan Lendl (1,071), Guillermo Vilas (923), John McEnroe (875) and Federer.
Boris Becker (713) was the first German player to achieve the mark.