Melt butter in a large pot over medium-high heat. Brown chicken breasts on all sides. Remove chicken, shred or cube, and set aside. Add chopped onion to the pot; cook until soft, about 6-8 mins. Stir in minced garlic, Italian seasoning, and red pepper flakes (if using); cook for 1 minute until fragrant.
Pour in chicken broth and add sun-dried tomatoes (if using). Bring to a gentle simmer. Add pasta or broken lasagna noodles; cook for 10-12 minutes or until al dente, stirring occasionally.
Return shredded chicken to the pot. In a small bowl, whisk cornstarch with a splash of half and half (or cream) to form a slurry; stir into the soup. Stir in the remaining half and half (or cream) and fresh spinach. Cook for another 1-2 minutes until spinach wilts and soup thickens slightly. Season with salt and pepper to taste.
Ladle soup into bowls. Garnish each serving generously with a dollop of ricotta cheese and a sprinkle of grated Parmesan cheese. Serve warm.