This savory and cozy Tuscan soup is simmered with a sofrito cooked in peppery olive oil; earthy, rustic bread; and small, thin-skinned white beans.


    • 1 cup extra-virgin olive oil, plus more for serving
    • 1 large yellow onion, finely chopped
    • 1 large carrot, finely chopped
    • 1 celery stalk, finely chopped
    • 1 teaspoon kosher salt, plus more
    • 8 garlic cloves, finely chopped (optional)
    • 1/4 teaspoon crushed red pepper (optional)
    • 1 1/2 cups crushed tomatoes (preferably San Marzano) (from 1 [15-ounce] can)
    • 1 1/2 cups unoaked white wine
    • 8 cups water or chicken stock
    • 3 stale Tuscan-style bread (rustic country loaf or boule) slices, crusts removed, and bread cut into 1/2-inch pieces (about 3 1/2 ounces)
    • 1 large bunch of kale, stemmed and thinly sliced into 1-inch pieces
    • 1 (4-inch) Parmesan cheese rind (optional)
    • 2 (12-ounce) Yukon Gold potatoes, peeled and diced
    • 4 cups cooked cannellini beans (or other thin-skinned white beans) (from 2 [15-ounce] cans or homemade)
    • Freshly ground black pepper
    • Grated Parmesan cheese, for serving


  1. Heat olive oil in a large, heavy pot or Dutch oven over medium-low. When oil shimmers, add onion, carrot, and celery; stir to coat with oil. Stir in salt to help draw out liquid from onions and season the foundation of the soup. Cook, stirring often and scraping bottom of pot with a flat-bottomed wooden spoon, reducing heat as necessary to maintain a gentle sizzle, until mixture is very soft and translucent, about 30 minutes. Increase heat to medium; cook, stirring often, until sofrito is caramelized, about 10 minutes.
  2. Stir in the garlic and crushed red pepper, if using; cook, stirring constantly, about 1 minute. Stir in crushed tomatoes and wine, and stir, scraping up any browned bits on bottom of pot, until mixture is well combined. Increase heat to maintain a vigorous simmer (be careful of splattering tomato). Cook, stirring occasionally, until mixture is reduced to a jam-like consistency, about 20 minutes.
  3. Add 8 cups water, bread, kale, and Parmesan rind, if using; stir, scraping bottom of pan to fully incorporate sofrito into liquid. Simmer until kale is tender and bread is dissolved, about 20 minutes. Stir in potatoes, and simmer until partially tender, about 15 minutes.
  4. Meanwhile, puree 1 cup beans with 1 cup tap water or bean cooking liquid (if not using canned). Add bean puree and remaining 3 cups beans, and simmer until beans and potatoes are completely tender but not falling apart, about 25 minutes. Season with about 1 teaspoon more salt, or to taste, and a generous amount of black pepper.
  5. Let soup cool to room temperature; cover and chill up to 3 days. Reheat soup gently before serving, and adjust seasonings as necessary. Divide among bowls, and top each with a drizzle of olive oil and freshly grated Parmesan cheese. Serve hot.

Most Popular Recipes

Sign up for the Newsletter

Join our newsletter and get updates in your inbox. We won’t spam you and we respect your privacy.