Both can be used, but it generally depends on the sentence. For most situations, I would use 'impressed by'.
For example, 'I was impressed by her level of English' and 'I was impressed with her level of English' are both correct, but I personally prefer the first sentence.