Heat olive oil or butter in a large pot over medium heat.
Sauté onions, garlic, carrots, and celery until softened and fragrant, about 5–7 minutes.
Add potatoes (if using), broth, salt, pepper, and thyme/rosemary. Bring to a boil, then reduce heat and simmer for 20–25 minutes, until vegetables are tender.
For a smooth soup, blend partially or fully using an immersion blender, or leave chunky for a hearty texture.
Stir in heavy cream or coconut milk. Simmer an additional 5 minutes, adjusting seasoning as needed.
Serve hot, garnished with parsley, croutons, or shredded cheese.
Serving & Storage Tips:
