How to Make It
Coarsely chop ham. (You should have 1 1⁄2 cups.) Heat 1 tablespoon of the oil in a large skillet over medium. Add ham; cook, stirring occasionally, until fat is rendered, about 4 minutes. Using a slotted spoon, transfer ham to a large bowl, reserving drippings in skillet. Add remaining 1 tablespoon oil to skillet; stir in onions. Cook, stirring occasionally, until deeply browned, about 30 minutes. Add spinach; cook, stirring often, until wilted, 1 to 2 minutes. Transfer onion mixture to bowl with ham; let cool 10 minutes.
Whisk together eggs, milk, mustard, salt, and pepper. Add egg mixture and 1 cup of the cheese to bowl with onion mixture, and stir to combine. Arrange croissants, slightly overlapping, in 2 rows in a lightly greased 11- x 7-inch baking dish. Pour mixture over croissants. Sprinkle with remaining 1⁄2 cup cheese. Cover with aluminum foil, and chill 8 hours or up to overnight.
Preheat oven to 375°F. Uncover casserole, and place on a large rimmed baking sheet. Bake in preheated oven until golden brown and center is set, about 1 hour. Shield with foil after 25 minutes, if needed to prevent excess browning.