You can do it in a single line
var res = listA.Where(n => !listB.Contains(n));
This is not the fastest way to do it: in case listB is relatively long, this should be faster:
var setB = new HashSet(listB);
var res = listA.Where(n => !setB.Contains(n));