Dice onions and garlic & saute them in a large skillet with about 1 1/2 tablespoon of olive oil.
If you choose to add meat to the sauce, at this point, add your ground meat (I use ground venison) and brown well. Then add the spaghetti sauce mixture, sliced olives, fresh sliced basil and extra mushrooms to the skillet, and bring to a low boil. Lower heat to medium low and simmer while you prepare and fry the eggplant.
Slice the eggplant in about 1/2" slices. Beat the eggs, milk and about 1/2 tsp salt and pepper in a large bowl. Place the flour in a large bowl and sprinkle some salt and pepper in the bowl, mix together well. Dip a slice of eggplant in the milk mixture, flour it well on each side and place into a hot skillet with about 3/4" of oil (I like to use Olive oil). Wait until the bottom is well brown (3-5 minutes), then turn over the eggplant and cook well on the bottom. When the eggplant is nicely browned, remove from the skillet and drain on paper towels.
Using a large baking dish, place a thin layer of tomato sauce on the bottom of the dish, spreading out evenly to each corner.
Begin to layer the dish as follows: Eggplant, sprinkle a small layer of Parmesan and shredded cheese, then a layer of tomato sauce.
You want to the topmost layer to end with your tomato sauce. Then top the dish off with about 3/4 cup of shredded cheddar cheese and a thick layer of Parmesan cheese. I like to spray the top of the dish with olive oil spray to give it a nice evenly browned finish.
Bake uncovered in a pre-heated 425 degree oven for approximately 45 minutes (more or less depending on your oven). Check the dish after 25 minutes, if the top is browning too quickly, cover with tin foil for the remainder of cooking time.
Best served with fresh basil sprinkled over the top over a bed of angel hair pasta, although you can also serve it alone with your favorite side dishes. We love to eat this over pasta with a fresh garden salad as a healthy side dish.
Note: I normally only make one layer of eggplant, however I have made an extra large batch in a deep dish for a large crowd with two layers of eggplant. Just be sure to allow for more baking time if you make the extra large batch (approx. 15-20 minutes more baking time).