Add veggies and meat to the slow cooker. Dice the onion, slice the celery, peel and chop the carrots, and mince the garlic. Then, add the onion, celery, carrots, garlic, and ham hocks (or diced ham) to the slow cooker.
Prepare and add beans. Rinse and drain the beans, but keep the seasoning packet. Then, add the beans to the slow cooker with the salt, pepper, chili powder, and seasoning packet.
Add liquid on top and cook. Pour the chicken stock over the ingredients in the slow cooker. Add the bay leaves and fresh thyme. Cover and cook on HIGH for 5 hours or LOW for 7-8 hours, until the beans are tender.
Remove meat, mix back in, and add the final ingredients. Remove the ham hocks, bay leaves, and thyme sprigs from the slow cooker. Separate the meat from the ham bones and return the meat to the slow cooker. Add the diced tomatoes and lemon juice. Cook on HIGH for an additional 30 minutes.
Serve. Serve the soup hot with crusty bread. Garnish with fresh parsley if desired.