Preheat oven to 350 degrees F. Grease a 9 by 13-inch baking dish with butter.
In a large bowl, stir together the eggs, cream, and Parmesan. In a bowl, whisk together the flour, sugar, baking powder, cayenne, chipotle, and garlic. Stir the flour mixture into the egg mixture and set aside.
Heat the butter and oil in a large skillet over medium-low heat. Add the onions and cook, stirring, until caramelized, about 25 minutes. Add the water chestnuts and cook for another 5 minutes.
Stir the onion mixture into the egg mixture and spoon into the greased baking dish. Sprinkle with slivered almonds and bake until the pudding is set, about 30 minutes.
Recipe courtesy of Mary Adair