Melt the butter and olive oil together in a large pot over medium heat. Dice the onion and add it to the pot with a pinch of salt, cooking for about 4 minutes until softened and translucent. Add the freshly minced garlic and cook for just 30 seconds until fragrant—this short timing prevents the garlic from burning and becoming bitter. Stir in the sun-dried tomatoes, Italian seasoning, oregano, paprika, and red pepper flakes, cooking for 3 minutes to bloom the spices and release their essential oils. This foundational step builds deep flavor that will carry through the entire soup.
Pour in the chicken broth and diced tomatoes, bringing the mixture to a boil. Add the chicken breast chunks directly to the boiling liquid, cover the pot, and reduce heat to low. Simmer gently for about 15 minutes until the chicken is cooked through. I find that keeping the chicken in chunks while it cooks helps it stay tender and flavorful—the gentle simmering ensures even cooking without drying it out.
Remove the cooked chicken from the pot and shred it using two forks or your preferred method, then return it to the pot. Drain and rinse the cannellini beans and add them to the soup along with the cheese tortellini. Cook according to the tortellini package directions (usually 8-10 minutes), stirring occasionally to prevent sticking. The pasta will cook while the beans warm through, and both will absorb the surrounding broth flavors.
Remove the stems from the kale and tear the leaves into 1-inch pieces. When the tortellini is nearly tender, add the torn kale and 1/2 cup of parmesan cheese to the pot, stirring gently until the kale wilts, about 2 minutes. Stir in the heavy cream and lemon juice, warming through without boiling—this keeps the cream silky and prevents any curdling. I like to add lemon juice at the end because it brightens all the rich flavors without tasting acidic when added just before serving.