Heat a large saucepan over medium-high heat and add 2 tablespoons of butter or olive oil. Add the sausage. Break up the sausage as it cooks, and cook for about 5 minutes or until the sausage is browned and cooked. Add the onions and cook until soft, about 1-2 minutes. Add Worcestershire sauce and give the meat mixture a good stir.
Add the remaining 2 tablespoons of butter or olive oil and when it melts (if using butter), add the flour. Whisk the flour quickly to remove all lumps.
Slowly add the milk, whisking as you add the milk, Season with salt and pepper. Bring to a simmer, then reduce heat and continue simmering on medium-low heat until the gravy thickens to your desired texture.
Serve warm over hot homemade biscuits or breakfast potatoes!