This is a southern classic, and it isn't really just for breakfast. I don't have an exact recipe. Instead, I have a ratio and some steps.
Fat from cooking sausage (or bacon). If you want sausage gravy, you need “real” breakfast sausage for this application. You can use the fat from bacon if you want a good gravy, but don't have or don't want sausage. Precooked microwave patties don't work for sausage gravy. Turkey bacon and tofu sausage don't work, either. You need a meat that renders plenty of fat. Pork sausage is traditional.
AP flour
Milk
Salt and Pepper
“How much of each?” you ask. Nobody told me! But, I figured out the magic ratio, so here it is:
1 TBSP fat : 1 TBSP flour : 16 TBSP milk
For each tablespoon of fat, you need 1 tablespoon of AP and 16 tablespoons of milk (that's 1 cup of milk). This ratio works for any kind of gravy, but let's stick to sausage gravy for now. With the magic ratio, you can make as much or as little gravy as you like, depending on how much fat renders out of your sausage.
Large cast-iron or other heavy skillet/fry pan (don't use non-stick for this)
Gravy whisk [My mom doesn't use a gravy whisk, and her gravy is fantastic. For us mere mortals, I highly recommend one!]
Measuring spoon and cup (until you can just eye-ball the amounts like Mom does!)
Cook your meat per usual; don't discard the rendered fat if you need to drain the pan; save it in a heat-safe container.
Once the meat is done, remove it and drain the fat out of the pan into a heat-safe container
Put the pan on medium-high heat; measure back 1 TBSP of fat into the pan for each cup of gravy you want.
Add 1 TBSP of flour for each TBSP of fat.
Whisk the flour and fat together constantly over medium-high heat until the mixture is the desired brown (at least 1 minute to cook the flour).
Once the mixture is the desired color, slowly whisk in the milk and keep whisking until smooth.
Add salt and pepper to taste, now. The gravy won't taste as good if you wait to season it after it's done cooking.
Whisking often (or even constantly), bring the mixture to a low boil and cook until it coats the back of a spoon; remove from heat promptly.
Experience really does help when making gravy. I had several hilariously-spectacular failures before I finally succeeded in making good gravy. If you don't get it right the first time, don't worry about it. Eventually, you'll be able to eye-ball the amount of fat and add the right amounts of flour and milk to get great results. Knowing the magic ratio makes this much easier!
The gravy will thicken as it cools, so don't make it too thick in the pan.
You can whisk in a bit more milk if the gravy is too thick, or cook it a bit longer to make it thicker. This is really the “secret” to getting good gravy (once you know the magic ratio).
Make your gravy in the same pan where you cooked the meat, and make sure to scrape the fond off the bottom when you're whisking. This adds lots of flavor, but it works better if you don't burn the meat when you're cooking it.
Measure and have the milk ready to pour into the pan before you start browning the flour. You don't want to have to take time to measure the milk after your flour is brown.
If you want sausage gravy, crumble the sausage into the gravy at the end.
Seasoning the gravy while it's still cooking really does make a difference.
Really, get a gravy whisk!