Brown the onions: In a pot, heat vegan butter over medium heat. Add diced onions and sauté for 8-10 minutes, until onions are very tender and lightly browned. (Add more time if needed to achieve the right color. Deglaze the pan as needed with a splash of water.)
Deglaze: Add a splash of dry wine (or water) to deglaze, scraping up any browned bits. Allow this to simmer for 2-3 minutes, till most of the liquid has evaporated.
Form a roux: Sprinkle the flour over the onion mixture and stir to coat so that the flour forms a paste. Cook, stirring constantly, for about a minute.
Make the gravy: Add in the cool water, whisking vigorously to break up any clumps of roux. Add the beef bouillon cube or paste, followed by soy sauce, (optional) nutritional yeast, onion powder, garlic powder, balsamic vinegar, and black pepper to taste. Bring the mixture up to a boil, then reduce heat to medium-low and allow it to simmer until slightly thickened.
Cool and serve: The gravy may seem a little thin initially, but it will continue to thicken when removed from the heat. Transfer to your gravy boat or serving bowl and enjoy!