Pull the sausage and milk out of the fridge about 30 minutes before cooking so that they can come to room temperature.
Preheat a medium-large sauté pan over medium to medium-high heat.
Cut the sausage in half so you have two thin squares. Brown one side of each square in the heated pan for 3 minutes, flip, and brown the other side for 3 minutes.
Break up the sausage into the size of meat chunks you want to eat and continue to stir and cook until no longer pink, about 3-4 minutes.
Add the butter and stir until melted.
Sprinkle half the flour over the meat and stir for 1 minute. Sprinkle the other half of the flour over the meat and stir for 2 minutes.
Add the garlic powder, smoked paprika, and sage and stir for 1-2 more minutes, until the flour looks like it has dissolved and the spices are evenly distributed throughout the meat.
Slowly add 1 cup of the milk while stirring and continue to stir until smooth. Slowly add the 2 remaining cups of milk while stirring and continue to stir until smooth.
Add the salt and sugar and stir to combine.
Increase heat to medium-high to high and bring to boil, stirring often.
Reduce heat to medium-low and simmer until thickened, about 10 minutes, stirring often.
Season with pepper and any additional salt to taste. Then serve immediately.
If the gravy thickens too much, add 1/2 cup milk, stir, and cook for a couple of minutes to thin the gravy out. If it’s still too thick, add another 1/2 cup milk and do the same thing.If not serving right away, keep the gravy in the pan turned onto the lowest setting to keep it warm until you’re ready to serve.Allow the milk to come to room temperature before adding to the gravy to avoid lumps in the gravy.Store any leftover gravy in an airtight container in the fridge for 4-5 days.