Place beans in a large bowl and pick over, removing any clumps of dirt or small stones.
Add enough water so that there's a couple inches of water above the beans. Let soak 8 hours or overnight.
Drain beans, then rinse with fresh water. Set aside.
Prepare Soup:
Heat olive oil in a dutch oven or large soup pot over medium heat.
Add onions, carrots, and celery. Lightly season with salt and pepper, then cook until onions start to turn translucent, stirring frequently (about 5 to 7 minutes).
Stir garlic, smoked paprika, and red pepper flakes into veggies. Cook for 1 minute, or until veggies are well-coated and fragrant, stirring constantly.
Add beans, 8 cups water, diced tomatoes, thyme, basil, oregano, and bay leaves to veggies.
Bring soup to a boil, then partially cover pot and reduce heat to a simmer. Cook soup for 1 ½ to 2 hours or until beans are tender, stirring occasionally and adding more water if soup becomes too dry.
Stir parsley and lemon juice into soup, then season very generously with salt and pepper to taste.
Serve soup hot. Enjoy!
Notes
Beans - Soaking the beans overnight helps them cook faster and move evenly (less split beans). If you forget, you can soak the beans for less time or skip soaking altogether. The soup will take longer to cook though, and you may need to add more water. Soaked beans should take about 1 ½ to 2 hours to cook, but it can vary depending on how old the beans are, how long you soaked them, etc.Seasoning - Because you're using water to cook the beans, the soup will be relatively bland when the beans finish cooking. For best results, make sure to add lots of salt before serving to bring out all the flavors.More - Check out the info before this recipe card for helpful tips, variations, serving suggestions, and more!