Former world number one Murray, 123rd in the ATP rankings, showed all his trademark fighting spirit to clinch a 2-6 7-6 (2) 6-3 win in just over two-and-a-half hours.
Murray, who pulled out of last month’s Australian Open after testing positive for coronavirus, was back on court after losing last week in his first ATP Tour match for four months.
The 33-year-old lost in straight sets to Belarus’ Egor Gerasimov at the Open Sud de France in Montpellier.
Murray lost the first set in Rotterdam in 34 minutes after being broken twice, but saved two break points in the seventh game of the second and held his nerve in the tie-break to level the match.
The Scot fell 3-0 behind after losing his opening service game in the decider, but came storming back against world number 193 Haase and reeled off the last six games to seal a memorable victory.
Murray held serve at the start of the opening set and then failed to convert two break points before he was broken in his next two service games to fall 5-1 behind.
He held in the seventh game, but Haase served out to take the first set in just over half an hour.
Neither player faced a break point in the first six games of the second set before Murray survived two in the seventh game to edge 4-3 ahead.
The Briton held twice more, but Haase was proving solid on his own serve and forced a tie-break.
Murray then seized the initiative, winning two decisive points against Haase’s serve to open up a 6-2 lead and he clinched the second set after an hour and 10 minutes on his first set point to level the match.
Haase responded by opening up a 3-0 lead in the decider but Murray stormed back, breaking in the fifth and holding twice to level the match again before breaking the Dutchman’s resistance by reeling off the next three for victory.
Join our new commenting forum
Join thought-provoking conversations, follow other Independent readers and see their replies