Try using .Except extension method (docs):
var result = list1.Except(list2);
will give you all items in list1 that are not in list2.
IMPORTANT: Even though there’s a link provided to MSDN docs for the method, I’ll point this out here: Except only works out of the box for collections of primitive types, for POCOs/objects you need to implement IEquatable on that object.