Den schweiziska, spelar sin första match på två månader, vann den första uppsättningen men dukade under för den tyska i den second-set tie-break efter att ha haft match punkt.
"Det är alltid speciellt att spela en nära vän som Roger på gräs, alltid massor av känslor", sade världen 302.
"Jag sparade en matchpunkt så jag kunde spela mer fritt efter det."
Han tillade: "Jag till och med chockade mig själv."
Det var Haas fjärde seger på 17 möten mot den tidigare världen nummer ett.
Den 35-årige, som har startat sin uppbyggnad till Wimbledon, hade inte spelat sedan vinna Miami Open mot Rafael Nadal i april och missade hela lerbana säsongen.
Det var bara världens nummer fem andra nederlag för 2017 säsongen.
Sjufaldig Wimbledon mästare Roger Federer slogs 2-6 7-6 (10-8) 6-4 av 39-årige Tommy Haas på gräs på Stuttgart Open.