Dice the onion into 1/2-inch pieces, slice the carrots into 1/4-inch rounds, mince the garlic, and stem and tear the kale into 1-inch pieces. Having everything prepped before you start cooking ensures you can work smoothly without interruption. Heat the olive oil in a large pot over medium heat until it shimmers, then add the diced onion and sliced carrots. Cook for 4-5 minutes, stirring occasionally, until the onion becomes translucent and the carrots begin to soften.
Add the minced garlic to the pot and cook for about 1 minute, stirring constantly, until fragrant—this brief cooking time blooms the garlic's flavor without burning it. Increase the heat to medium-high and add the ground turkey along with the Italian seasoning, salt, and black pepper. Break up the turkey with a wooden spoon as it cooks, stirring frequently until it's completely browned and no pink remains, about 5-7 minutes. I find that breaking the meat into small, uniform pieces as it cooks helps it brown more evenly and integrates better into the soup.
Add the diced tomatoes (with their juices), rinsed cannellini beans, chicken broth, and bay leaf to the pot. Stir well to combine, scraping up any browned bits from the bottom of the pot—these flavorful caramelized pieces add depth to your soup. Bring the mixture to a simmer over medium-high heat, then reduce the heat to medium and allow it to simmer gently for 15-20 minutes. This simmering time allows the flavors to meld and the broth to become more cohesive.
Stir the torn kale into the simmering soup and cook for 5 minutes, stirring occasionally, until the kale is tender and wilted but still maintains its color. I prefer adding kale at the very end because it retains more nutritional value and a better texture when it's cooked briefly. Taste the soup and adjust seasonings if needed. Ladle the soup into bowls and top each serving with freshly grated Parmesan cheese.