Combine the beef, parmesan, 2 tablespoons parsley, the egg, garlic, 1/2 teaspoon salt, and pepper to taste in a medium bowl; mix with your hands until just combined. Form into 1-inch meatballs; set aside.
Heat the olive oil in a pot or Dutch oven over medium-high heat. Add the meatballs and cook, turning, until golden, 3 to 4 minutes; remove to a plate. Add the carrots and celery to the pot; cook, stirring, until just softened, about 5 minutes. Add the broth and 3 cups water; bring to a boil. Return the meatballs to the pot along with the remaining 2 tablespoons parsley and 1/2 teaspoon salt. Simmer until the meatballs are just cooked through, about 2 minutes.
Add the tortellini and cook until they float to the top, about 4 minutes. Add the spinach and cook, stirring, until wilted, 1 minute. Season with salt and pepper. Top with more parmesan.