While the meatballs cook, make the soup. Heat the butter and olive oil in a large soup pot over medium-high heat until the butter has melted. Add the onions, celery, and carrots, and sauté for 3 minutes or until the onions turn translucent.
Add the zucchini and sauté for an additional 3 minutes.
Add the garlic and rosemary and sauté for 2-3 minutes, stirring frequently, or until the garlic is fragrant.
Add the chicken broth, salt, and black pepper. Bring to a simmer and cook uncovered for 10 minutes.
In a small mixing bowl, whisk the half-and-half and flour together until smooth. Stir the half-and-half mixture into the simmering soup and cook for 2-3 minutes or until lightly thickened.
Reduce the heat to medium-low. Stir in the cooked meatballs and cook for 2-3 minutes or until heated throughout.
Season the soup with additional salt and pepper to taste. Serve the soup hot, topped with chopped parsley and shredded parmesan cheese. Enjoy!