Quick Recipe Version (TL;DR)
Quick Ingredients
- 3 tbsp extra-virgin olive oil, divided
- 1 small yellow onion, finely chopped
- 4 garlic cloves, thinly sliced
- 1/2 tsp red pepper flakes (to taste)
- 1 large bunch lacinato kale (about 10 oz/280 g), ribs removed, sliced
- 2 cans (15 oz/425 g each) cannellini beans, drained and rinsed
- 1/3 cup (50 g) oil-packed sun-dried tomatoes, chopped, plus 1 tbsp of their oil (optional)
- 1/2 cup (120 ml) low-sodium vegetable broth or water
- 1 tsp finely chopped fresh rosemary or thyme (optional)
- 1 lemon, zested and juiced
- Kosher salt and black pepper
- 8 slices crusty whole-grain bread
- Optional: shaved Parmesan, chopped parsley
Do This
- 1. Preheat oven to 400°F (204°C) for the bread. Prep all ingredients.
- 2. Warm 2 tbsp olive oil in a 12-inch skillet over medium heat; cook onion 3–4 minutes.
- 3. Add garlic and red pepper flakes; stir 30–60 seconds until fragrant.
- 4. Add kale, 1/4 cup broth, salt, and pepper; toss and cook until wilted, 3–4 minutes.
- 5. Stir in beans, sun-dried tomatoes (and 1 tbsp tomato oil if using), herbs, and remaining 1/4 cup broth; simmer 3–5 minutes. Mash a few beans to thicken.
- 6. Toast bread 6–8 minutes. Finish skillet with lemon zest and juice plus remaining 1 tbsp olive oil; adjust seasoning and serve with bread, Parmesan, and parsley.
Why You’ll Love This Recipe
- One-pan, 30-minute dinner that’s hearty, bright, and deeply satisfying.
- Pantry-friendly: beans, sun-dried tomatoes, and olive oil do the heavy lifting.
- Nutritious comfort food: fiber-rich beans and leafy greens with a lively lemon finish.
- Versatile: enjoy as a main with bread or as a side alongside grilled proteins.
Grocery List
- Produce: Lacinato (Tuscan) kale, yellow onion, garlic, lemon, fresh rosemary or thyme (optional), parsley (optional)
- Dairy: Parmesan (optional)
- Pantry: Cannellini beans, oil-packed sun-dried tomatoes, extra-virgin olive oil, red pepper flakes, low-sodium vegetable broth, kosher salt, black pepper, crusty whole-grain bread
Full Ingredients
For the Skillet
- 3 tbsp extra-virgin olive oil, divided
- 1 small yellow onion (about 5 oz/140 g), finely chopped
- 4 large garlic cloves, thinly sliced
- 1/2 tsp red pepper flakes (use more or less to taste)
- 1 large bunch lacinato kale (about 10 oz/280 g), ribs removed, leaves sliced 1/2-inch thick
- 2 cans (15 oz/425 g each) cannellini beans, drained and rinsed (about 3 cups/500 g cooked beans)
- 1/3 cup (50 g) oil-packed sun-dried tomatoes, drained and finely chopped, plus 1 tbsp of their oil (optional flavor boost)
- 1/2 cup (120 ml) low-sodium vegetable broth or water, plus more as needed
- 1 tsp finely chopped fresh rosemary or thyme (optional but lovely)
- 1 lemon, zested (about 2 tsp) and juiced (about 2 tbsp)
- 1 tsp kosher salt, plus more to taste
- 1/2 tsp freshly ground black pepper
For Serving
- 8 slices crusty whole-grain bread (about 1/2 inch thick; roughly 10 oz/285 g)
- Optional garnishes: 1/2 cup (40 g) shaved Parmesan, 2 tbsp chopped fresh parsley, extra red pepper flakes, and a drizzle of olive oil

Step-by-Step Instructions
Step 1: Preheat oven and prep ingredients
Heat the oven to 400°F (204°C) for toasting the bread. Wash and dry the kale, strip out the tough ribs, and slice the leaves into 1/2-inch ribbons. Finely chop the onion, thinly slice the garlic, chop the sun-dried tomatoes, and zest and juice the lemon.
Step 2: Soften onion and bloom aromatics
In a large 12-inch skillet (cast iron or stainless) over medium heat, warm 2 tbsp olive oil. Add the onion and cook, stirring occasionally, until translucent and softened, 3–4 minutes. Add the sliced garlic and red pepper flakes; cook 30–60 seconds until fragrant. Avoid browning the garlic.
Step 3: Wilt the kale
Add the kale to the skillet with 1/4 cup of the broth, 1/2 tsp salt, and a few grinds of black pepper. Toss with tongs, then cover and cook 2 minutes to steam. Uncover and continue cooking, stirring frequently, until the kale is tender with a little bite, 3–4 minutes.
Step 4: Add beans and sun-dried tomatoes
Stir in the cannellini beans, chopped sun-dried tomatoes, herbs (if using), and the remaining 1/4 cup broth. If you like, add 1 tbsp oil from the sun-dried tomato jar for extra richness. Simmer gently 3–5 minutes to warm the beans and meld flavors. Lightly mash 1/2 cup of the beans against the skillet to thicken. Taste and adjust salt and pepper.
Step 5: Toast the bread
While the skillet simmers, arrange the bread slices on a baking sheet and toast in the 400°F (204°C) oven until crisp at the edges and warm in the center, 6–8 minutes. For extra flavor, lightly rub the hot toast with a cut clove of garlic and drizzle with a touch of olive oil.
Step 6: Finish with lemon and serve
Off the heat, stir in the lemon zest and juice and the remaining 1 tbsp olive oil. The skillet should be glossy with a light, brothy sheen; add a splash more broth if it seems dry. Spoon into warm bowls, top with Parmesan, parsley, and a pinch more red pepper flakes if you like, and serve with the crusty whole-grain toast.
Pro Tips
- Slice kale into uniform ribbons so it wilts evenly and quickly.
- Use a splash of the bean can liquid in place of some broth for extra creaminess; just reduce added salt.
- Do not rush the aromatics—sweating the onion and gently blooming the garlic and red pepper flakes builds flavor.
- Mash a small portion of beans in the pan to thicken without cream.
- If your sun-dried tomatoes are dry-packed, rehydrate them in hot water for 5 minutes, then pat dry and chop.
Variations
- Smoky sausage: Brown 8 oz (225 g) Italian chicken sausage coins first, then proceed with the aromatics. Reduce added salt.
- Mushroom umami: Sauté 8 oz (225 g) sliced cremini with the onion for a meatless, savory boost.
- Tomato-brothy: Add 1/2 cup crushed tomatoes with the beans for a slightly saucier skillet.
Storage & Make-Ahead
Refrigerate the cooled skillet (without bread) in an airtight container for up to 4 days or freeze for up to 2 months. Reheat gently over medium-low heat with a splash of water or broth until hot. Toast bread just before serving to keep it crisp. If freezing, omit the lemon until reheating, then add it fresh for brightest flavor.
Nutrition (per serving)
Approximate, without bread or cheese: 240 calories; 9 g protein; 12 g fat; 28 g carbohydrates; 9 g fiber; 520 mg sodium (varies with broth and salt). Add about 90–120 calories per slice of whole-grain bread.

