Yeah this is called 'neighborhood' spoofing - they do it to get numbers similar to yours (sometimes they'll even appear as a known contact).
I use an app called nomorobo ($2/month) that's basically a blacklist that gets continually updated to block these calls prior to ringing my phone. The way they deal with the neighborhood spoofing is having local access to your contacts so they don't accidentally block any real numbers (though those that happen to be an exact match will go through).
My spam calls went from one to two a day to zero.