A friend's mother made this for us last year. We have tweaked it and added other spices, as well as the water chestnuts and almonds. We have served to rave reviews many times since then. We use Vidalia onions when they are in season.
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.