Preheat oven to 350 degrees. Butter a 9-inch-round cake pan (at least 2 inches deep). Line bottom of pan with a parchment-paper round.
In a large bowl, whisk together eggs and cream; season with salt and pepper. Thinly slice potatoes (less than 1/4 inch thick); drop into egg mixture.
Lifting potatoes out of egg mixture, arrange half the potatoes in pan. Layer with ham, broccoli, cheese, and remaining potatoes. Pour egg mixture over top. Press down firmly so that potatoes are fully submerged in egg mixture.
Cover with foil; bake until potatoes are tender, about 1 hour. Uncover; continue baking until golden and set, 30 to 45 minutes more.
Cool 15 to 20 minutes in pan. Run a knife around edge, and carefully invert onto a plate. Peel off parchment. Reinvert, top side up. Slice with a serrated knife.
Thawed and well-drained frozen spinach (squeezed dry) or peas can be used instead of broccoli.