Whisk the sugar, cocoa powder, flour and salt in a medium saucepan to combine.
Slowly pour in the milk, whisking to thoroughly combine and remove all lumps.
Heat the mixture over medium heat and cook until gravy thickens, about 7 to 10 minutes. It should be the consistency of a thin pudding, similar to instant pudding.
Remove from heat and stir in the butter cubes. Once melted, stir in the vanilla.
This gravy will thicken as it cools, but will never become solid or as thick as cooked pudding.
I used lactose-free whole milk to create this recipe – and it still upset my stomach.
I have not tried this recipe with non-dairy milk. I am guessing that it will work, but will be thinner unless you mix it half and half with canned coconut milk (which I am allergic to, so I will not be trying that).
This recipe makes about 2.5 cups of gravy. Guessing a serving size of 2 tablespoons, you would get 20 servings.
Store chocolate gravy in a sealed container in the refrigerator up to 5 days.