In an earlier upset, Mischa Zverev rallied to defeat fifth-seeded Tomas Berdych 3-6, 6-2, 7-6 (8).
The other two seeded players in action, No. 6 Dmitry Tursunov and No. 8 Rainer Schuettler, also tumbled out.
Haas, a 31-year-old veteran who is working his way back after shoulder surgery, got a wild card into the grass-court event. His experience showed against Tsonga, a Frenchman with a flashy but inconsistent game.
"I played as well as I can, especially on the big points,'' Haas said. "We both played extremely well. To beat a top-10 player shows that I have to be reckoned with.''
Haas, once ranked as high as No. 2 in the world, had his best French Open in seven years when he reached the fourth round last week, losing to eventual champion Roger Federer after winning the first two sets.
"That was a great confidence booster, it made me realize that I can play with the best,'' Haas said.
Tsonga praised the German.
"Not many players are capable of playing like he did today. You can lose even when you play very well and it's frustrating,'' he said.
Tsonga said he would now "practice, practice and practice'' in his run-up to Wimbledon.
Zverev, a German wild card, wasted three match points in the decisive tiebreaker, then saved two before overcoming the 2007 champion.
It is the fourth time this year that the 21-year-old German has reached the quarterfinal stage of a tournament. Zverev also saved match points in beating Berdych at the Rome Masters last month.
"I knew that he would eventually get tight and make mistakes,'' Zverev said.
Benjamin Becker of Germany beat Schuettler 6-4, 2-6, 6-4 to make his first quarterfinal of the season. Schuettler was the only German to lose Wednesday, and the tournament could potentially have seven local players in the last eight.
Tursunov lost to another German, Philipp Kohlschreiber, after wasting a 4-1 lead in the second set and 5-0 advantage in the tiebreaker before going down 6-4, 7-6 (8).
Kohlschreiber won six straight points to gain a match point. The Russian saved it but then lost the next two points to end his error-filled performance.
Earlier, "lucky loser'' Lukas Lacko advanced to the second round by beating Harel Levy 7-6 (6), 6-2. Lacko lost to Levy in the final round of qualifying but won a place in the main draw after the withdrawal of top-seeded Federer.
On Tuesday, Federer pulled out the tournament, where he usually begins his grass-court preparations for Wimbledon, saying he was "overwhelmed'' and "exhausted'' after his French Open win.