Cook the Italian sausage in a large dutch oven or stock pot over medium-high heat for 5-7 minutes or until no longer pink, crumble the sausage with a wooden spoon as it cooks. Transfer the cooked sausage to a paper towel-lined plate using a slotted spoon and drain all but 1 tablespoon of the excess grease.
Add the celery, carrots, and onion to the pan and cook for 4-6 minutes or until the vegetables soften.
Add the garlic and tomato paste and cook, stirring continuously, for 1-2 minutes or until fragrant.
Add the cooked sausage, broth, canned tomatoes, Italian seasoning, salt, pepper, and chili flakes to the pan and bring to a gentle boil. Reduce the heat to medium and simmer for 10 minutes to allow the flavors to develop.
Stir in the gnocchi and cook for 4-5 minutes or until the gnocchi floats to the surface and is fork-tender.
Remove from the heat and stir in the baby spinach. Allow the soup to sit for 2-3 minutes to let the spinach wilt.
Serve hot with freshly grated parmesan if desired.