2 tablespoons butter
8 ounces breakfast sausage links, casings removed and meat broken up
4 strips bacon, sliced crosswise
1/2 cup chopped green onions (light parts only)
1/3 cup packed all-purpose flour
1 pinch cayenne pepper, or to taste
salt and freshly ground black pepper to taste
2 1/2 cups cold milk
1 tablespoon chopped green onion
1 pinch cayenne pepper for garnish
Melt butter in a large skillet or saucepan over medium heat; cook sausage and bacon in the hot butter, stirring to break the sausage up into small pieces, until sausage is browned and bacon is almost crisp, about 10 minutes.
Mix 1/2 cup green onion into sausage mixture and saute until onions are soft, about 3 more minutes.
Stir flour into meat mixture, 1 to 2 tablespoons at a time, until thoroughly combined and mixture is pasty. Cook, stirring often, 2 to 3 minutes to remove raw taste of flour.
Whisk milk into meat mixture, about 1 cup at a time, until combined. Continue to whisk until gravy begins to thicken, about 5 minutes. Turn heat to medium-high, bring gravy to a simmer, and season with a pinch of cayenne pepper, salt, and black pepper. Reduce heat to medium-low.
Continue to simmer gravy until flavors have blended and gravy is thick, 10 to 15 minutes, stirring occasionally. Sprinkle with 1 tablespoon green onion and a pinch of cayenne pepper for garnish.