Using the butter, grease a 9x13 cake pan well. Whisk together the eggs, milk, salt, onion powder, and pepper. Place the bread inside the pan and top with the beaten eggs and milk. Sprinkle on the diced ham and shredded cheddar.
Cover tightly with plastic wrap and refrigerate overnight.
Bake at 350 for 30-40 minutes, or until the eggs are fully set and the top is light brown.