Start by tearing the croissants into bite-sized pieces and spreading them on a baking sheet. Place the sheet in a 250°F oven for 40 minutes to gently dry them out—this prevents the bake from becoming soggy and helps the custard absorb evenly without the croissants falling apart. While the croissants dry, melt the butter in a skillet over medium heat and add the diced onion, cooking for 2-3 minutes until softened and fragrant. Add the fresh thyme and sage, cooking another 2-3 minutes to release their essential oils and develop deeper flavors. This early aromatics step builds the foundation of the dish. Set the cooked mixture aside.
Grease a 9x13 baking pan with butter or cooking spray. Create the first layer by arranging half of the dried croissants from Step 1 on the bottom of the pan, breaking them into smaller pieces as needed to ensure even coverage. Top this with half the sliced ham, then sprinkle half the shredded gruyere cheese over the ham. Scatter the cooked onion and herb mixture from Step 1 evenly across this layer. Add the remaining croissants on top, followed by the remaining ham slices and gruyere cheese. I like to tear the ham into smaller pieces rather than leaving full slices—it distributes better throughout the bake and creates more pockets of flavor in each bite.
In a large bowl, whisk together the room-temperature eggs, half and half, Dijon mustard, whole grain mustard, freshly grated nutmeg, kosher salt, and black pepper until completely smooth and well combined. The room-temperature eggs incorporate more smoothly and create a more uniform custard. Pour this mixture slowly and evenly over the layered croissants, ham, and cheese in the baking pan. Using the back of a spatula or wooden spoon, gently press down on the croissants to help them absorb the custard—you want them saturated but not crushed. Let the assembled bake sit at room temperature for 30 minutes before baking, allowing the croissants to fully absorb the custard and the flavors to meld together.
Preheat your oven to 350°F. Once preheated and the 30-minute soak is complete, place the baking pan in the oven and bake for 40-45 minutes, until the top is golden brown and the custard is set but still slightly jiggly in the very center—this ensures the interior stays moist and creamy. Remove from the oven and let rest for 5-10 minutes before serving. Garnish with fresh minced chives if desired for a pop of color and fresh onion flavor. If you want to elevate this dish, drizzle warm hollandaise sauce over individual servings just before eating for extra richness and a restaurant-quality finish.