In large pot or Dutch oven add oil over medium heat. Once warm, add onion and garlic sauté and until onions are translucent and fragrant, about 7 minutes or so.
Mix in carrots and celery and sauté for 5-7 minutes more.
Add in the salt, pepper and flour and gently toss until veggies are coated.
Add milk, vegetable broth, potatoes, bay leaf, thyme, marjoram and nutmeg.
Stir and bring mixture to a boil. Once boiling, turn temperature down to low, cover and simmer for about 30 minutes or until potatoes are tender.
Remove the bay leaf. Use an immersion blender to blend the soup until somewhat smooth. If you don't have an immersion blender you can use a potato masher to mash some of the potatoes. I prefer to leave a bit of chunky potato texture to the soup, but if you want it completely smooth you can fully blend it in a high powered blender. If you're using a blender, just blend in batches, making sure to not fill your blender past the maximum fill line and be extra careful because the soup will be hot!
Spoon soup into bowls for serving and top with toppings of choice. I love serving it with vegan shredded cheese, sour cream and green onions. Tempeh or coconut bacon bits are also delicious.
Let soup cool completely and store in an airtight container for up to 5 days in the fridge.