In a large, deep skillet, heat the oil over medium-low heat. Add the shallot. Saute, stirring often, until the shallot is translucent and turning golden, about 8 to 10 minutes. Adjust the heat as needed so that it softens, but does not crisp or turn dark brown.
Stir in the garlic. Let cook 30 seconds. Sprinkle on the flour and cook, stirring constantly, for 1 full minute. Make sure no white bits of flour are remaining. Stir in the nutritional yeast.
Slowly whisk in stock, adding a little at a time, until all of it is added and the gravy is smooth.
Add the soy sauce, sage, and pepper. Bring the gravy to a boil, lower the heat, and simmer for 10 minutes, stirring very very frequently and scraping a wooden spoon or spatula along the bottom of the pan to prevent sticking. Carefully taste and adjust seasoning to taste (be careful, it is HOT).
Just before serving, give the gravy a stir and rewarm gently on the stove if needed. You also can let cool completely and refrigerate it in an airtight container for up to 5 days. Rewarm gently.
TO STORE: Refrigerate vegan gravy in an airtight storage container for up to 5 days.
TO REHEAT: Reheat vegan gravy in a saucepan on the stovetop over low heat, stirring frequently. You can also warm it up in the microwave, although I prefer the stovetop method.
TO FREEZE: Freeze gravy in an airtight container or zip-top bag for up to 3 months. Thaw overnight in the refrigerator before reheating according to the instructions above.