Heat the oil in a large sauté pan and add the sausage and onions. Sauté until the sausage is cooked through and the onions are golden. Remove from pan.
Make sure the stove is on medium-low now and in the same pan melt the butter and then add the flour in. Using a gravy whisk, stir the flour into the butter and cook, stirring constantly for about 2 minutes, maybe a little longer until it is a light, golden brown. Add the salt, pepper, garlic, and sage and give it a quick stir.
In small batches, add the milk and half and half. Stir between each addition until it is smooth. After the first couple of additions, it will ball up around the whisk. That's normal...just gently shake it back into the pan and keep adding milk.
Once all the milk and half and half have been added, add the sausage and onions back in and switch to stirring with a wooden or silicone spoon. Allow it to warm through and serve hot over biscuits, mashed potatoes, or cornbread.