In a large skillet over medium heat, warm the olive oil. Add the chopped onion and cook until softened (about 3-5 minutes). Add the fresh thyme and bay leaf, and season everything generously with salt and pepper.
Push the onions to the side and add the breakfast sausage and minced garlic to the pan. Break the sausage up with a spoon as it cooks until it is nice and brown.
Once the sausage is fully cooked, sprinkle the flour over the meat and onions. Stir and cook for 1-2 minutes, letting the flour absorb the fat.
Carefully pour in the white wine and use a wooden spoon to scrape up any browned bits on the bottom of the pan. Let the wine bubble and cook down for about a minute.
Stir in the whole milk and dried sage. Bring the mixture to a gentle simmer. Reduce the heat to low and let the gravy simmer for 10-15 minutes, stirring occasionally, until it has reached your desired creamy consistency. You can add more milk if it becomes too thick.
Taste the gravy and adjust the seasoning with more salt, pepper, or sage if needed.