Make the meatballs: In a medium bowl, combine all the meatball ingredients using your hands until evenly combined. Do not overmix. Shape into small 1-inch balls. Set aside.
Heat a few drizzles of oil on a large Dutch oven or pot over medium heat (I use a 6-quart pot). In batches, sear the meatballs until lightly browned on all sides, about 5 minutes. Do not overcrowd, otherwise the meatballs will steam and not brown. Meatballs won’t be fully cooked at this point. Transfer meatballs to a plate and set aside.
To the same pot, add about 2 tablespoons of olive oil. Saute the onions, carrots, and celery until softened, about 8 minutes, stirring occasionally. Then, make some room in the center and add a drizzle of oil, the minced garlic, and Italian seasoning. Saute for another 1-2 minutes until fragrant.
Stir in the chicken broth, water, and salt and pepper to taste. Bring to a boil. Return the seared meatballs to the pot, and add the acini di pepe pasta. Stir to combine.
Bring to a boil again, and then reduce to a simmer. Simmer, with the lid partially covered, for about 15-18 minutes or until pasta is tender and meatballs are thoroughly cooked.
Add spinach and simmer for another minute until softened. Season with more salt and pepper if needed.
Garnish with grated parmesan cheese and parsley. Serve with bread, if desired. Enjoy!