Preheat oven to 375 degrees. Prepare a 9x13 casserole dish with non-stick cooking spray or grease with additional butter.
In a heavy skillet, cook bacon over medium heat until crisp. Drain bacon on paper towel. Remove all but 1 tablespoon of the bacon drippings from the skillet. Crumble the bacon into small pieces.
Melt butter in skillet with remaining bacon drippings. Then add the onions and Brussels sprouts. Season with salt and pepper as desired.
Cook for 8 to 10 minutes, stirring frequently, until the Brussels sprouts are tender.
Pour heavy cream over Brussels sprouts and gently scrape the bottom of the skillet to remove any flavorful pieces. Transfer the sprouts to the casserole dish.
Top the casserole with parmesan and cheddar cheeses.
Bake for 15 minutes or until cheese has melted.
Remove from the oven, top with crumbled bacon bits, serve warm and enjoy!