Add the olive oil, onion, and celery to a large pot, along with a pinch of salt. Place the pot over medium heat. Cook the vegetables, stirring occasionally, until they soften and the onion turns translucent (about 2 to 3 minutes). Add your garlic, and cook for another minute to toast.
Add the potatoes and vegetable stock to the pot. Raise the heat to high and bring the mixture up to a boil. Reduce heat to low, cover the pot, and simmer for 15 to 20 minutes, or until the potatoes are tender.
In a separate bowl, whisk your cornstarch into the cold milk to dissolve. Add the milk mixture to the pot. Raise the heat to medium, and bring the soup up to a boil. Boil the soup, whisking often, until thickened to your liking. Taste for seasoning and add salt and pepper as needed.
(Optional) If you like your soup smooth, puree the whole mixture using an immersion blender or a stand blender. You can also puree half of the soup and leave the other half as is for some texture differences. If you like your soup with more texture, simply leave as is. Top with some grated cheese and chopped green onion if using. Serve!