An idiom is a group of words that combine to form a meaning that is different from the dictionary definitions of the individual words. Take 'throw in the towel' as an example- the meaning is to 'surrender' and it comes from boxing where one side can give up by throwing a towel into the ring. However, looking up these individual words in a dictionary would not give you the meaning. An expression is just a a phrase or something that is widely known and the meaning could be obvious.
