Preheat the oven to 350°F.
Grease baking dish with butter and set aside.
Mix eggs, cream, salt, pepper, and mustard (or another seasoning) together in a large measuring cup or bowl. Beat together well until the cream and eggs are completely emulsified. Set aside.
In a large bowl, mix all the remaining ingredients together, reserving 1/2 cup of cheese.
Pour the egg and cream mixture over the bread mixture and toss well until all the dry ingredients are well coated, and the bread cubes begin to absorb the egg and cream mixture.
Transfer the mixture to a greased baking dish and cover with aluminum foil. Place baking dish in the 350°F preheated oven and bake for 30 minutes.
After 30 minutes, remove the aluminum foil and allow the casserole to bake for an additional 10-15 minutes until golden and bubbly on top.
Remove the casserole from the oven and place it on a heatproof surface. Allow the dish to cool for 10 minutes before serving.
Any leftovers may be refrigerated and will stay fresh for 3-4 days if wrapped well. To reheat, place leftovers in an oven safe dish covered with aluminum foil and place in a 350°F oven until warmed through, approximately 10-15 minutes.