Rinse the beef neck bones under cold water and pat them dry with paper towels.
Trim off excess fat, leaving a little for moisture during cooking.
In a bowl, mix soy sauce, olive oil, smoked paprika, minced garlic, and black pepper to create the marinade.
Coat the beef neck bones in the marinade and place them in a sealed container or bag.
Marinate in the fridge for at least 2 hours, preferably overnight, flipping halfway through.
(Optional) Sear the neck bones in a skillet until browned for extra flavor.
Place the marinated beef neck bones in a single layer in the slow cooker.
Add chopped onions, carrots, celery, bay leaves, and pour in broth or red wine until it covers the bones halfway.
Set the slow cooker to LOW and cook for 6–8 hours, or HIGH for 4–5 hours.
Avoid opening the lid frequently to maintain consistent heat.
Check doneness with a fork after 5 hours; meat should pull apart easily.
If not tender, continue cooking for 1–2 more hours on LOW.
Remove the neck bones and strain the cooking liquid if using it as broth.
Shred the meat from the bones and mix it back into the broth if desired.
Season with salt and pepper to taste before serving.
(Optional) Add potatoes or carrots in the last hour of cooking for a one-pot meal.
Let the dish rest for 5–10 minutes before serving.