Heat a large pot over medium heat. Add the chopped bacon and cook for 7-9 minutes, stirring periodically, until crisp and cooked through.
Remove the pan from the heat. Using a slotted spoon, carefully scoop the bacon from the grease and place it on a paper towel-lined plate. Discard all but about 2 tablespoons of the bacon grease from the pan.
Return the pan to medium heat. Add the onion, celery, and carrots, and sauté for 6-7 minutes or until the onions start to soften.
Add the garlic and thyme. Cook for about 1 minute or until fragrant.
Stir in the undrained beans, chicken broth, tomato sauce, paprika, salt, and pepper. Bring to a simmer, then reduce the heat to medium-low and simmer the soup with the lid ajar for 60 minutes, stirring it periodically to keep the beans from sticking to the bottom of the pot.
Using a potato masher or a large spoon, mash part of all of the beans to achieve your desired texture.
Stir in all but a few tablespoons of the reserved cooked bacon into the soup. Season the soup to taste with salt and pepper and serve hot, garnished with bacon and cracked black pepper.