In a medium saucepan or cast iron skillet, melt the butter over low heat. Stir in the olive oil and onions. Cook over medium heat until the onions begin to get tender, about 5 minutes.
Stir in the mushrooms and minced garlic. Continue cooking until the mushrooms soften slightly, stirring frequently.
Sprinkle in the flour and stir to evenly coat the mushrooms and onions.
Stir in the wine and bring the mixture back to a good simmer and continue stirring until the wine reduces down to about half, about 5 minutes or so.
Stir in the chicken broth, thyme, salt, pepper and heavy cream. Bring the mixture back to a hard simmer and cook for additional 10 minutes, stirring frequently.
While the gravy continues to simmer, begin to prepare the meatballs
In a large skillet, cook the bacon over medium heat until about halfway done. Dice and set aside.
Add the peppers and onion to the skillet with the bacon grease and cook until tender, about 8 minutes.
In a medium bowl, combine the beef, bacon, onion, and peppers. Season to taste with salt and pepper.
Shape the beef mixture into golf-ball- sized balls. Place the balls in the skillet with the oil and brown the outsides over medium-high heat.
Pour half of the mushroom gravy into a casserole dish. Place the meatballs in the dish and pour the remaining gravy over the meatballs.
Bake at 350 degrees for 25 to 30 minutes, or until the meatballs are cooked through. Serve hot with the gravy over rice or mashed potatoes. Enjoy.