Heat oil in a skillet over medium heat. Reserved oil from fried protein (ie: fried chicken) is best because it adds flavor.
Add diced onions to the skillet and sauté for about 5 minutes, or until soft and translucent.
Next, slowly sprinkle the flour into the skillet, continuing to whisk the whole time. Whisk the flour around the skillet until it absorbs all of the oil. Continue to stir for about 1-2 minutes.
Pour milk into the skillet one cup at a time, continuing to whisk the entire time. Once all of the milk is added, continue to stir for 1-2 minutes to ensure the flour dissolves evenly. Gravy will be slightly chunky because of the onions.
Add all of the seasonings, and stir until they are all combined. If gravy is too thin, continue stirring over heat until it reaches your desired consistency. If gravy is too thick, add milk one tablespoon at a time.