Cook bacon in a large pot over medium heat until crisp. Remove bacon with a slotted spoon, leaving the drippings in the pot.
If needed, add olive oil to make 1 tablespoon of fat in the pot.
Increase heat to medium-high. Add shallots, carrots, and celery. Cook, stirring frequently, until softened, about 3 minutes. Add garlic, red pepper flakes, salt, and pepper. Cook until aromatic, 30 seconds to 1 minute.
Add white wine to deglaze the pan, scraping up brown bits. Cook until wine is reduced to 2 tablespoons, about 3-4 minutes.
Add chicken stock, beans with liquid, rosemary, bay leaf, and Parmesan rind.
Bring to a boil, then reduce to a gentle simmer. Cover and simmer for 15-18 minutes.
Remove rosemary and bay leaf. Add bacon, ¼ cup of cream, parsley, and Parmesan. Adjust seasoning to taste. Add more cream for a richer texture if desired.
For a thicker soup, use an immersion blender to blend some of the soup or mash some beans.