Cook the Bacon:
In a large soup pot or Dutch oven, cook chopped bacon over medium heat until crispy. Remove and set aside on paper towels, reserving 1–2 tablespoons of the fat in the pot. Add butter if needed.
Sauté the Vegetables:
Add onion, carrots, and celery to the pot. Sauté for 5–6 minutes until softened. Add garlic and cook for 1 minute more.
Add Potatoes and Simmer:
Stir in the diced potatoes, broth, marjoram, thyme, salt, and pepper. Bring to a boil, then reduce heat and simmer uncovered for 15–20 minutes or until potatoes are fork-tender.
Blend (Optional):
For a creamy texture, blend part of the soup using an immersion blender or by mashing some of the potatoes with a spoon. Leave some chunks for texture.
Finish with Cream:
Stir in milk or cream and heat through gently. Do not boil after adding dairy.
Serve:
Ladle into bowls and top with crispy bacon, chopped herbs, and optional cooked sausage. Serve hot with rustic bread.