Oh, that’s a tough one. There is no word that matches the meaning exactly. The verb might be easier to grasp if you look at the corresponding noun, “Gönner” = a person who “gönns”. It can mean sponsor, patron or benefactor but it also has a demeaning ring to it as in “sugar daddy”. “Gönnen” always happens from a higher status to a lowe one, like granting someone’s wish just because you have the power to, allow a person to enjoy something although you have to power to disallow it.
It’s also used in a self-referential way which creates a slight ironic undertone:
Ich bin auf Diät, aber ich gönne mir das Eis jetzt.
I’m on a diet but I allow myself to enjoy the ice cream now.
When used in the negative, it means being jealous, begrudging someone, envy someone:
Er gönnt seinem Kollegen die Beförderung nicht.
He is jealous of his coworker’s promotion.
Hope this helps.