In a large, deep skillet, melt the butter (or buttery spread or oil) over medium heat. Add the onion, diced mushrooms, and sliced mushrooms. Saute, stirring often, until the onion is translucent and the mushrooms are deeply browned, about 15 to 20 minutes. Adjust the heat as needed so the diced mushrooms do not burn.
Stir in the garlic and 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.
Slowly whisk in stock, adding a little at a time, until all of it is added and the sauce is smooth.
Add the brandy, sage, bay leaves, soy sauce, salt, and pepper. Bring the gravy to a boil, lower the heat, and simmer for 15 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).
If time allows, set aside at room temperature and allow the herbs to infuse for 1 hour (or you can remove and discard the bay leaves and sage and use the gravy right away). 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.
TO STORE: Refrigerate gravy in an airtight storage container for up to 5 days.
TO REHEAT: Gently rewarm gravy in a saucepan on the stovetop over low heat, stirring frequently.
TO FREEZE: Freeze gravy in an airtight freezer-safe storage container for up to 3 months. Let thaw overnight in the refrigerator before reheating.