Haas made a perfect start to the set as he held his own service game before breaking Lu at the first time of asking.
Haas then held again to move into a 3-0 lead, and the set stayed with serve for the remainder as he took it 6-3.
The number 12 seed broke again in the third game of the second set, but Lu hit back immediately to restore parity in the next game. The sixth game went to an incredible 10 deuces, with Lu squandering eight break points before Haas eventually wrapped the game up.
Three consecutive breaks of the serve followed, leaving Haas serving for the set and he went on to take it 6-4.
Both men managed two breaks apiece in the third set, forcing a tie-break that Haas won 7-3 to book his place in the next round.