Easy method (requires root)
Yes, there is an app for exactly that and much more called 'GravityBox' (it is an Xposed module).
For information on how to install it, view a similar post herehere
Alternatively (does not require root)
If you are lucky your Phone app should have a "Blacklist" to which you can add numbers and prevent calls and/or messages (notifications) from them. Normally found in the settings of your default phone app...
If you don't have it, then you could even try a 3rd party phone app that will replace your default phone app that will do the trick (There is a large variety that are more beautiful, simplistic, up-front and have features including black-listing options...).
Using a 3rd party phone app will leave all your contacts intact, but you may loose your speed dial settings.