Expression has about the same meaning as phrase, except it is usually used of a phrase which is in common use. So an idiom is a certain sort of expression, which in turn is a subset of phrase: idiom > expression > phrase. An idiom can be a single word, if it's used in a way that isn't its literal or dictionary meaning.