Preheat the oven to 350'
Heat Olive oil or butter in a skillet on medium heat, add the onions
As the onions soften, add the garlic. I always add the garlic second because it can burn so quickly.
Sprinkle salt and pepper on the onions and garlic as they soften and continue to saute until onions and garlic turn a nice golden color.
In a large mixing bowl combine all of the ingredients. I like to add the salt, pepper, and oregano to the eggs then beat well so the seasonings get spread evenly throughout the meat mixture. Mix by hand or with heavy duty mixer.
Form the meat mixture into a loaf in a baking dish.
Bake on 350' for at least 1 hour or until the internal temperature in the middle of the meatloaf reaches 165'. Cooking times will vary from oven to oven, and also based on the size of the meatloaf.
For the mushroom gravy: Heat olive oil or butter in a medium skillet, then add mushrooms.
Saute the mushrooms until tender, about 8-10 minutes, seasoning with salt and pepper as they soften.
Toward the end of cooking deglaze the pan with a splash or two of red wine. Continue to simmer for 2 minutes
Prepare the roux. In a medium saucepan, melt the butter on medium-low heat. Be careful not to burn the butter.
Slowly whisk in the flour 1 tablespoon at a time. The butter and flour will quickly thicken into your roux
Slowly add warm beef broth to the roux, continuing to whisk to avoid clumping.
Bring the gravy to a boil until it thickens.
Reduce to a simmer and combine the thickened broth with the mushrooms and simmer on very low heat.
Baste the meatloaf about 3 times while it is cooking.