The world number 10 came through 6-3 7-5 after one hour and 40 minutes.
The first set began with both players giving little away off their own service games, with a number of holds to love early on.
However, it was Anderson who made the breakthrough in the eighth game, taking advantage of his third break point to move 5-3 ahead before going on to serve out the set at the first attempt.
Haas had the opportunity to break his South African opponent in the opening game of the second set, but Anderson saved the break point before going on to take a 1-0 lead. Haas then had to save seven break points of his own in the following four service games to keep the scores level.
With the second set seemingly headed towards a tie-break, Anderson seized the advantage with a break at 5-5 to set up the opportunity to serve for the match and a place in the next round, which he again did at the first time of asking.