This festive, elegant dish sidesteps the heaviness of traditional gratins by relying on puréed cauliflower instead of cream for a rich texture. Hints of cardamom and two kinds of cheese provide a gentle complexity that doesn't mask the flavors of the winter vegetables.
In a small saucepan, add milk and cardamom pods and bring to a simmer over high heat, 2–3 minutes. As soon as milk reaches a simmer, immediately turn off heat and let steep, 30 minutes. Meanwhile, prepare chard for sautéing: Separate the stems from the leaves by cutting around the stems. Gather the stems together, then trim and discard the bottoms. Finely chop stems and set aside. Use a paring knife to peel away the onion skin, then cut onion in half. Remove the root end, then thinly slice into half-moons. Set aside. Peel garlic, trim the ends, then thinly slice. Place the chard stems, onion, and garlic into a heavy-bottomed pot. Add olive oil and a pinch of salt, then turn heat to high. Stir and sauté vegetables over high heat until they begin to sizzle. Turn heat to low and sweat the vegetables until they are soft and the onions are translucent, about 20 minutes. Meanwhile, bring a large pot of water to a boil over high heat.
Blanch cauliflower: Cut away and discard cauliflower leaves, and trim the stems (set the stems aside for later). Slice cauliflower top into several large chunks, and cut half of the chunks into small florets. Heavily salt the boiling water ("just a little shy of ocean water"), then add the florets. When the water comes back to a simmer, continue to cook for 2 more minutes, then scoop out with a strainer or slotted spoon. The cauliflower should be slightly cooked but still al dente. Set aside. (Leave the heat on). Roughly chop the remaining cauliflower chunks and reserved stems so the pieces are about the same size; add them to the sautéed chard stems, onion, and garlic. Strain the cardamom pods from the milk, and add the milk to the sautéed vegetables. Turn heat to medium, cover, and simmer until cauliflower is very tender, 10-12 minutes, stirring occasionally. (If it ever seems too dry, add a bit of water.) Meanwhile, blanch chard leaves.
Blanch chard leaves: Add another big pinch of salt to the cauliflower-blanching water (enough to make it "salty as the sea"). Add chard, bring back to a simmer, then simmer 30 seconds more. Scoop out the blanched leaves using a strainer or slotted spoon and place into a mixing bowl. Set aside.
Butter the gratin dish and set aside. Finely grate the Gruyère and Parmigiano-Reggiano and set aside in separate bowls. Gently squeeze the water out of the chard leaves; then roughly chop and set aside.
In a food processor, add the cauliflower-milk mixture. Pulse a few times so the mixture doesn’t splatter, then purée on high. Transfer purée to a large mixing bowl. Add the chopped chard leaves, loosening up any clumps, and the blanched cauliflower florets; stir to combine. Let rest to cool, 15 minutes. Meanwhile, preheat oven to 350 F.
Add half of the Gruyère to the cauliflower-chard mixture; stir to combine. Season to taste, then transfer to the prepared gratin dish. Level the surface with a spatula, then evenly top with remaining Gruyère and all of the Parmigiano-Reggiano. Cover with foil and bake, 30 minutes. (Note: Gratin can be assembled to this point up to 2 days in advance and stored, covered, in the refrigerator. Remove 2 hours before baking so it can come to room temperature.)
After 30 minutes, remove foil and place under the broiler for 4–5 minutes, rotating the dish halfway through. (Keep an eye on it so it doesn’t burn!) Remove from oven, let rest 5 minutes, then serve.