You';ll need a shallow 3-qt baking dish lightly coated with nonstick spray.
Melt butter in a large skillet. Add onion; saute until tender. Add mushrooms; saute until browned and dry. Stir in ham and broccoli.
Spread half the bread cubes in prepared baking dish. Top with ham mixture and half the cheese. Scatter remaining bread over top. Whisk eggs, milk and pepper in a large bowl until blended. Pour evenly over bread; sprinkle with remaining cheese. Bake and serve, or cover and refrigerate up to 1 day.
To serve: Heat oven to 350F. Bake uncovered 1 hour or until top is puffed and lightly browned, and a wooden pick inserted in center comes out dry.