Rinse the 15-bean mix under cold water and drain. (Optional: Soak overnight for faster cooking.)
Heat olive oil in a large pot over medium heat.
Add onion, garlic, carrots, and celery. Sauté for 5 minutes until softened.
Stir in the rinsed beans, diced tomatoes, broth, and seasoning packet (if included).
Add smoked paprika, cumin, black pepper, and bay leaf.
If using ham hock or turkey leg, add it now.
Bring to a boil, then reduce heat to low.
Cover and simmer for 1.5 hours, stirring occasionally, until beans are tender.
Remove bay leaf and ham hock (if used). Shred meat and return to the pot.
Add salt if needed.
Ladle into bowls and garnish with fresh parsley.