At least an hour before cooking or up to a day before, peel the eggplant if desired (recommended for large eggplant as the peel may be bitter) and slice into ¼ inch rounds or slices.
Place in a colander over the sink and salt liberally.
Put a heavy plate on top to create pressure and leave for an hour.
Rinse eggplant well and pat dry.
Preheat the oven to 350°F.
Heat butter or coconut oil in a pan and cook the eggplant pieces for 2-3 minutes per side until starting to soften. Optionally, you can oil a large baking sheet and place all the eggplant on it and bake in a 400°F oven for 30 minutes instead.
Brown the meat in a large skillet.
Dice the onions, mushrooms, and kale and add them to the pan when meat is cooked.
Saute another 5-7 minutes until all the vegetables are softening and starting to become translucent.
Add the red wine or beef broth to deglaze the pan and then add the diced tomatoes, tomato paste, and all the spices except the garlic/garlic powder.
Simmer about 15 minutes to let flavors incorporate.
Grease the bottom of a large baking dish.
Layer the eggplant slices and meat sauce in the baking dish and repeat until both are used up.
In a small bowl, whisk together the eggs, Greek yogurt, and garlic powder.
Spread evenly on top of the casserole.
Bake in the preheated oven for 45 minutes to an hour.
Let set 10 minutes and serve. Enjoy!
This casserole reheats well and can be made ahead. All except the yogurt and egg topping will freeze well, so try making several base casseroles for the freezer.