The 34-year-old Lopez's fifth career tournament title followed two on grass and two on hard courts.
Ten years after losing the Gstaad final to Richard Gasquet of France, Lopez lifted the trophy on his seventh trip to the Swiss Alps venue.
Lopez arrived ranked No. 21 and should return to the top 20 when the rankings are updated Monday.
The 95th-ranked Haase had his service broken once in the first set and twice in the second as Lopez completed the victory in less than 80 minutes.