Preheat the oven to 375ºF. Coat a large baking sheet with cooking spray.
Heat olive oil in a large skillet over medium heat. Add the eggplant and 1/4 cup water. Cook, stirring frequently, until the eggplant has softened, about 15 minutes.
Meanwhile, in a another large skillet, cook mushrooms over medium heat. Add a bit of oil as needed and stir frequently until the mushrooms have released most of their moisture and turned dark and soft, about 10 minutes. If you only have one skillet it’s ok to cook the eggplant, then the mushrooms in the same skillet, but cooking them together will overcrowd the pan.
Add walnuts to the bowl of a food processor and pulse into fine crumbs. Add the cooked eggplant and mushrooms and process into a paste.
Transfer the mixture to a large bowl. Add the breadcrumbs, Parmesan cheese, garlic, beaten egg, Italian seasoning, salt, and pepper. Stir completely to combine.
Roll the mixture into small balls and place on the prepared baking sheet. Bake 20-25 minutes until the balls are firm and lightly browned.
While the meatballs are baking, heat marinara sauce over medium low heat in the same skillet you cooked one of the vegetables in. Once the meatballs are done, carefully transfer them to the marinara sauce and gently spoon sauce over the meatballs to coat them completely.
Serve eggplant meatballs over spaghetti with fresh parsley if desired.