Cook bacon in a Dutch oven or a heavy bottom pan until brown and crispy. Remove cooked bacon and drain on a kitchen towel.
If you wish you could cook with 2 tablespoons of remaining bacon fat or discard all bacon fat from the pot and add 2 tablespoons of Olive oil.
To the oil add onion, carrot and celery. Cook for 2-3 minutes until the veggies are softened.
Add minced garlic and tomato paste. Saute for a minute on low heat.
Next add diced potatoes, bay leaf, Italian seasoning, paprika, ground cumin, salt and pepper. Stir in 4 cups of chicken stock. Once it comes to a boil, reduce heat to medium, cover and cook until the potatoes are tender for about 20 minutes.
Once potatoes are cooked through, add drained beans. Cook on medium-low heat for another 5 minutes.
Take out about 1/3 rd of the bean and potato mix along with some of the liquids. Add it to a blender jar and blend it smooth ( the mixture will be hot, so loosely cover the jar opening with a kitchen towel to prevent hot mixture from splattering). Stir it back to the pot. Alternatively, use a stick blender and blend half of the mix smooth right in the pot.
Add reserved chicken stock if required to adjust the consistency. Stir in grated parmesan, half of the cooked bacon and parsley to the soup.
Serve hot with more crispy bacon and parsley garnished at top.