Heat 1 tablespoon of olive oil in a large Dutch oven or soup pot over medium-high heat. Add the chopped chicken and cook until almost cooked through. Transfer the chicken to a plate.
In the same pot, melt the butter with 2 tablespoons of olive oil over medium-high heat. Add the chopped onions and sliced carrots. Cook while stirring for about 3 minutes. Then, add the chopped bell pepper and minced garlic, and cook for an additional minute.
Sprinkle in the flour and cook, stirring constantly for about 3 minutes until it forms a thick paste.
Reduce the heat to low, and gradually stir in 8 cups of chicken broth. In a separate bowl, whisk together 3 tablespoons of cornstarch with 1 cup of additional chicken broth, then add this mixture to the soup as well.
Stir in the cooked chicken, cannellini beans, chicken bouillon, dried parsley, dried basil, dried oregano, dried thyme, salt, black pepper, bay leaves, and red pepper flakes (if using). Finally, add the broken lasagna noodles.
Bring the soup to a boil, then reduce the heat and let it simmer until the lasagna noodles are tender, stirring occasionally to prevent sticking (approximately 20-30 minutes).
Reduce the heat to low. Remove and discard the bay leaves. Stir in the half and half (or evaporated milk), optional heavy cream, and the thawed chopped spinach. Heat the soup through.
Stir in 1 cup of freshly grated Parmesan cheese until melted and well incorporated. If desired, you can add additional half and half or chicken broth for a less "chunky" consistency. Season with additional salt and pepper to taste.
Serve the soup in bowls, garnishing each serving with a sprinkle of shredded mozzarella cheese, freshly grated Parmesan cheese, and a dollop of ricotta cheese.