Heat the oil over medium heat in a large, heavy-bottomed pot. Add the onion, carrot, and celery. Season with salt and pepper. Cook, stirring occasionally, until the vegetables begin to soften, 5 to 7 minutes. Add the garlic and cook until fragrant, 45 to 60 seconds. Sprinkle the flour over and cook, stirring, for 2 minutes. Gradually whisk in the stock, and then the milk. Add the potatoes and bring the soup to a boil over high heat. Decrease the heat to low and simmer until the potatoes are tender, about 20 minutes.