Both 喝 and 饮 seem to mean 'to drink', but is there nuance beyond this?
饮 is more of a classical term which mostly exists in established words and phrases:
- As verb: 饮酒, 饮水思源，饮鸩止渴, 饮泣, 饮恨, etc.
- As (part of) noun: 饮品, 饮料, 饮片, 饮具, 冷饮, 饮食, 饮用水, etc.
Use 喝 in everywhere else.
Usually you don't create words and phrases with 饮. I tried a few and they all sound funny:
- 饮可乐, 饮咖啡, 饮西北风, 饮汤 -- DON'T EVER USE THESE.
The clue is in 飲食 and 吃喝
In Mandarin, 吃喝 is more colloquial and 飲食 is more literal, (it is the other way around in Cantonese)
In practical usage:
Both 飲 and 喝 can be a verb for "to drink" for example: 飲湯，飲酒，飲水; 喝湯，喝酒，喝水
But 喝 can also be a verb for "to shout" http://www.cantonese.sheik.co.uk/dictionary/characters/230/ , for example: 呼喝，大喝, 喝止
Since 飲 as a verb can only means "to drink" we can easily add adverb to modify it , for example : 狂飲，痛飲, 暢飲，but it would be difficult for 喝, for example: 大喝 can means" freely drink" or " loudly shout"
飲 can be (part of) a noun for "beverage", for example: 冷飲，熱飲, 飲品; 喝 cannot.
- As a verb for " to drink", 飲 and 喝 are interchangeable.
- 飲 is more colloquial and 喝 is more literal. (Cantonese)
- 喝 is more colloquial and 飲 is more literal. (Mandarin)
- 飲 can be part of a noun; 喝 cannot.