Heat the olive oil in a large pot over medium heat; cook and stir the onions, carrots, celery, and garlic in the hot oil until the onions are translucent, 5 to 7 minutes.
Pour the vegetable stock into the pan and bring to a boil while scraping the browned bits of food off of the bottom of the pan with a wooden spoon. Season with the sage, salt, and black pepper. Reduce heat to low, place a cover on the pot, and cook until the flavors blend, about 1 hour.
Pour the soup into a blender pitcher to no more than half full. Hold the lid of the blender firmly in place. Carefully start the blender, using a few quick pulses to get the soup moving before leaving it on to puree. Puree in batches until smooth and pour into your serving vessel. Alternately, you can use a stick blender and puree the soup in the cooking pot.