In a medium saucepan over medium-low heat, add the olive oil (and butter if using) and cook until melted. Add the onion, carrots, and celery, and cook, stirring frequently, until tender, 5-6 minutes.: The kitchen fills with a soft warm note as the olive oil and optional butter melt and loosen, a faint sizzle may start as the fat warms. This gentle heat allows flavors to bloom without scorching. You want the fat to shimmer, not smoke, because overheated oil gives off bitter, unpleasant aromas. A common mistake is cranking the heat, which can brown the fat too quickly and create a harsh base instead of a mellow one. Keep the pan moderate and watch for a subtle sheen to know you are ready for the next step.
Gently stir in the rosemary, garlic, and beans, and cook for another minute. Add broth. Increase heat to high and bring to a boil. Lower to a simmer. Cover and cook for 20 minutes.: As the onion , carrots , and celery cook, you will hear quiet sizzling and see the onion turn translucent while the carrots soften, releasing a sweet, vegetal perfume. Stirring frequently prevents hot spots and ensures even softening. This stage builds the aromatic foundation, so patience is rewarded with depth of flavor. If pieces brown instead of soften, lower the heat; burned edges create bitterness and signal the pan was too hot.
Season to taste with salt and freshly ground pepper.: The addition of chopped rosemary , minced garlic , and the rinsed cannellini beans releases an herbaceous burst and a faint roasted garlic aroma. The minute of gentle cooking helps the rosemary release its oils and the garlic loses its raw edge. You should smell the herb's pine like brightness mingling with the sweet softened vegetables. Avoid overcooking the garlic at this point, as it can turn bitter; a brief bloom is all you need.
Transfer about 3 cups to a separate saucepan and add chicken. Bring to a simmer. Serve.: When you pour in the vegetable broth , steam will rise carrying the combined aromas of herb and vegetable. The liquid deglazes the pan, lifting any caramelized bits into the soup and enriching the flavor. After adding the broth, increase the heat to bring the pot up to a boil so the flavors start to mingle rapidly. If you add cold broth it cools the pot, so allow a moment for everything to come back to temperature rather than jacking the heat and forcing a vigorous boil.
Increase heat to high and bring to a boil: The pot should move from a gentle simmer to a clear, rolling boil, which helps incorporate flavors and brings the broth to a sanitary temperature quickly. You will see larger bubbles breaking across the surface and feel steam on your face. Watch closely as an aggressive boil can cause foaming or splatter. Once it reaches boil, reduce to a gentle simmer; prolonged vigorous boiling can break down the beans into an undesired mushy texture if that is not your goal.
Lower to a simmer: Bringing the soup back to a gentle simmer calms the surface to smaller, steady bubbles, allowing flavors to meld more harmoniously than a boil would. This controlled simmer encourages the vegetables to finish tenderizing and lets the rosemary infuse without becoming bitter. If you find the simmer too faint and nothing is moving, slightly increase heat; too strong and you risk over reducing the liquid and concentrating saltiness.
Cover and cook for 20 minutes: With the pot partially covered you trap steam so the ingredients finish cooking evenly, and the beans begin to relax into a creamier texture. During this time the aroma should deepen into a warm, woodsy broth scent. Resist the urge to constantly lift the lid, as that releases heat and lengthens cooking time. One common error is simmering too briefly, leaving the vegetables with a raw snap and the beans less integrated into the broth's texture.
Season to taste with salt and freshly ground pepper: After simmering, the soup's flavors concentrate, and it's the right moment to balance with salt and freshly ground black pepper . Sprinkle a little, stir, and taste, then adjust gradually because the broth reduction can intensify seasoning. Over salting is easy, so err on the light side and re taste after a minute for the full effect. If the soup tastes flat, a pinch more salt often brightens everything.
Transfer about 3 cups to a separate saucepan and add chicken: Moving a portion to another pot lets you warm the optional chicken without overcooking it, which preserves tenderness. As the heated broth envelops the diced chicken you will notice steam and a savory meaty aroma. This step helps ensure the chicken is evenly warmed through and that its juices mingle with the beans. A typical mistake is adding the chicken too early, which can dry it out; adding it now preserves moisture.
Bring to a simmer: Heat the saucepan gently until small bubbles appear at the edge, indicating the chicken is warmed and flavors have combined. The sound is a soft percolation and the surface shows steady ripples. This final warm through lets the chicken absorb the broth's herb notes without breaking down. Avoid a full vigorous boil which can make the chicken stringy and tough.
Serve: Ladle the soup into bowls and notice the steam carrying that inviting rosemary scent. The texture should feel creamy from the beans, with tender vegetable pieces and, if added, succulent chicken . Serve with crusty bread or a simple side if you like. A common oversight is serving before tasting one final time; always taste and adjust seasoning just before presenting the bowl to ensure brightness and balance.