Preheat oven to 350 degrees. Meanwhile, prepare the meatballs using the steps below.
Add ground meat to a bowl with the rest of the meatball ingredients. Make sure to whisk the egg before placing it into the mixture.
Gently fold meatball mixture together until well-combined. Then, roll into bite-sized pieces or larger, depending on your preference (I usually make around 30 small meatballs). Note: the mixture will make a sizable amount of meatballs, so you may want to cut the recipe in half, make larger meatballs, or save the mixture for another recipe such as pasta.
Place meatballs on an ungreased a baking sheet lined with aluminum foil before placing it into the oven to cook for 15 minutes.
While the meatballs are cooking, begin making the broth by adding diced yellow onions and diced carrots to a large pot with 2 tbso olive oil.
Add garlic powder, onion powder, salt, and black pepper to the same pot and sauté onions and carrot on medium high heat for approximately 2 minutes, until onion is fragrant.
Add broth and thyme to the pot and bring to a simmer over medium heat. Then, add the pasta, cover the pot with a lid, and let sit over medium heat until pasta is cooked al dente, approximately 10-15 minutes.
Once pasta has cooked, add shredded spinach to the pot along with the meatballs. Stir the soup until the spinach has wilted, then serve with shredded parmesan on top.