Place a soup pot over medium high heat. Add the olive oil and heat. Add the chopped onion and celery to the pot and cook, stirring with a wooden spoon, until the vegetables are soft, 3 to 4 minutes. Add the garlic and cook for 1 minute, Add crushed tomatoes and their juices, beef broth, tomato paste, 1/4 teaspoon of Italian seasoning, and 1/2 teaspoon of salt and stir to combine. Bring to a low simmer and simmer for 15 minutes.
While the broth simmers, make the meatballs. In a medium mixing bowl, combine the ground beef, ground pork, eggs, 1/3 cup Parmesan, bead crumbs, 3/4 teaspoon of Italian seasoning, and 1/2 teaspoon of the salt, and using clean hands, mix until thoroughly combined.
Divide meat into tablespoons and roll into smooth balls with your hands. Set the rolled meatballs aside on a plate or other flat surface. Wash your hands.
Carefully add the meatballs to the simmering broth. Gently stir, so as not to break up the meatballs. Add the remaining 1/4 cup grated Parmesan. Simmer for 20 minutes, or until meatballs are cooked through.
Add the ditalini and spinach to the hot soup, stir well and cook for 15 minutes, or until the pasta is cooked through. Stir in the chopped basil and serve the soup in wide bowls, garnished with additional grated Parmesan, if desired.