In a medium mixing bowl, combine the ground chicken, pesto, panko breadcrumbs, Parmesan cheese, egg, and salt until just mixed. Gently roll the mixture into 1-inch meatballs and place them on a plate.
Heat the olive oil in a large pot or Dutch oven over medium heat. Add the meatballs in a single layer and cook for 3-4 minutes, turning occasionally, until browned on all sides. They do not need to be cooked through at this stage. Remove the meatballs from the pot and set aside.
Add the chopped onion to the same pot and cook for 4-5 minutes, stirring occasionally, until it becomes soft and translucent. Add the minced garlic and cook for 1 more minute until fragrant.
Pour in the chicken broth and bring the liquid to a boil over high heat. Stir in the ditalini pasta and cannellini beans, then reduce the heat to a simmer. Cook for 8 minutes, stirring occasionally, until the pasta is al dente.
Gently return the meatballs to the pot and simmer for 4-5 more minutes until the meatballs are cooked through and the pasta is tender. Stir in the baby spinach and cook for 1-2 minutes until it has wilted. Season the soup with salt and pepper to taste before serving.