Preheat your oven to 375°F (190°C) and line a baking sheet with parchment paper.
In a large bowl, combine the ground beef, onion, egg, breadcrumbs, parsley, oregano, thyme, garlic, parmesan, salt, pepper, and olive oil. Mix until just combined, being careful not to overmix.
Scoop about 1 large tablespoon of the mixture and roll into meatballs with your hands. Place them onto the prepared baking sheet.
Toss the chopped eggplant with olive oil, salt, and pepper, then spread it onto the same baking sheet around the meatballs. Roast everything together for about 30 minutes, or until the meatballs are cooked through and the eggplant is soft and caramelized. The juices from the meatballs soak into the eggplant while roasting and make everything extra flavourful.
Meanwhile, boil your pasta in salted water until al dente. Reserve a bit of the pasta water before draining.
Add the tomato sauce to the drained pasta along with a splash of pasta water. Stir until glossy, then mix in the chopped spinach and let it wilt into the sauce.
Serve the pasta alongside the roasted meatballs and eggplant. Finish with extra parmesan, fresh cracked pepper, and a little flaky salt if desired.