Gather and measure all of your ingredients.
In a large mixing bowl, combine all of the meatball ingredients. Use your hands to mix well without overworking the meat.
In a medium sized pot over medium-high heat, add the olive oil and butter. Begin to sweat the onions with a pinch of salt and pepper, 4-5 minutes, just until the onions become translucent in color.
While the onions are cooking, begin forming the mini meatballs. Each should be approximately 1-½ teaspoons in size. Whether you are using a small scoop or a teaspoon for portioning, try to keep them uniform in shape and size. Place portioned meatballs onto a parchment-lined sheet pan, stopping intermittently to give the onions a quick stir every now and again.
After a few minutes, reduce the temperature to medium heat, add the garlic, and cook one more minute, stirring frequently to avoid allowing the garlic to burn.
In the center of the onion-garlic mixture, add the tomato paste, and break it up, allow to heat up about thirty seconds, then mix everything together.
Toss in the spinach, along with a little more salt and pepper to season, stirring around the pot just until the spinach begins to wilt.
Add in the fire-roasted tomatoes and the broth, stirring everything together. Increase the heat back to medium-high.Add in your dried herbs and bay leaf, sugar, and the parmesan rind, if including. Bring the soup to a slow simmer, adjusting the heat as needed so the soup does not boil. In the meantime, finish up portioning the mini meatballs, and drop them into the soup, a few pieces at a time, stirring as you go.Add in the freshly grated parmesan and mix everything together. Allow the soup to simmer about 15-20 minutes, just to ensure the meatballs are thoroughly cooked through.Carefully taste the broth and adjust the salt and pepper, if needed. Remove the bay leaf, then add in the cannellini beans and the heavy cream.Keep warm until ready to serve. Cool any leftovers completely before storing in an airtight container.