Lemon tofu and white bean skillet
A lemony skillet of white beans, golden tofu, and wilted spinach.

A few mashed white beans thicken the pan liquid around golden tofu, giving this skillet a light, creamy sauce. Most beans remain whole, and spinach softens into the spaces between them. Lemon goes in off the heat, keeping its sharp flavor noticeable against the mild tofu and beans.
Give the tofu time against the pan
Drain and pat the tofu dry before cutting it into cubes. Surface water needs to evaporate before the first stage can produce much color. Spread the cubes across the skillet and turn them occasionally, leaving each face against the hot pan for a while between movements.
Use firm tofu that can hold its shape when the onion and beans are folded through it. Very soft tofu will break into the sauce, changing the finished texture. A wide skillet makes it easier to turn the cubes without piling them on top of one another.
Once the onion joins the tofu, stir gently with a broad spoon or spatula. Thin onion slices soften during the short cook and fit between the cubes. Have the minced garlic and the remaining ingredients ready before the next stage, so the garlic does not sit over the heat while you open or drain beans.
Mash a little bean into the sauce
Cannellini, navy and great northern beans all work here. Their sizes and firmness vary, so use a few of the softer ones for mashing and keep the rest whole. Press a small spoonful against the side of the skillet, then stir it into the water around the tofu.
Start with a small amount of mashing. You can always crush another spoonful if the liquid still looks thin, but a large amount of bean purée makes the skillet much heavier. Let the sauce simmer gently so it reaches the consistency you want without breaking up all the cubes.
Chop the spinach into manageable pieces and fold it in a handful at a time. Water clinging to washed leaves joins the sauce, so drain them well before adding. If using the kale substitution, give the leaves the additional simmer they need before the lemon finish.
A gentle reheating method
The dish makes two portions. Cool leftovers promptly in shallow containers, refrigerate within two hours, and use within three days. The bean sauce thickens as it stands, so add a small splash of water when reheating if it no longer moves easily around the tofu.
Stir gently and heat until steaming throughout. Taste the sauce after it has loosened rather than adding extra salt while it is still cold and thick. Drained bean weight is more useful than can count when shopping for another batch, because package sizes and the amount of packing liquid vary.
Lemon tofu and white bean skillet
A lemony skillet of white beans, golden tofu, and wilted spinach.
- Prep
- 10 min
- Cook
- 22 min
- Total
- 32 min
- Makes
- 2 servings
One serving: one generous bowl
Equipment
Large skillet
Ingredients
Instructions
Storage & reheating
Cool promptly in shallow containers and refrigerate within 2 hours. Keep covered in the refrigerator for up to 3 days; reheat until steaming hot throughout.
Substitutions
- Cannellini, navy, and great northern beans all work.
- Use chopped kale instead of spinach and simmer it for several minutes longer.
Contains: soy. Check the labels of your ingredients.
Estimated nutrition per serving
- Calories
- 474 kcal
- Protein
- 34.7 g
- Carbohydrates
- 48.6 g
- Fat
- 18.7 g
- Saturated fat
- 2.3 g
- Fiber
- 15.3 g
- Sugars
- 7.8 g
- Sodium
- 396 mg
For one original serving, excluding optional ingredients and suggested sides. How we estimate nutrition.
Ingredient cost breakdown
Estimated cost of the amount used; optional extras are separate.
| Ingredient | US · USD | Canada · CAD |
|---|---|---|
| firm tofu, drained and cubed | $2.94 | $4.56 |
| cooked white beans, drained | $1.14 | $1.45 |
| spinach, chopped | $1.04 | $3.63 |
| onion, thinly sliced | $0.28 | $0.24 |
| garlic, minced | $0.18 | $0.09 |
| lemon juice | $0.07 | $0.09 |
| olive oil | $0.18 | $0.16 |
| water | $0.00 | $0.00 |
| ground black pepper | $0.02 | $0.01 |
| fine salt | $0.00 | $0.00 |
| Recipe total | $5.85 | $10.24 |
| Per serving | $2.92 | $5.12 |
Price references: US 2026-10-27; Canada 2026-10-27. Regional prices vary. Pantry ingredients included; taxes, delivery, and utilities excluded.
Price sources & package sizes
United States · USD
- firm tofu, drained and cubed: Walmart US, Sacramento Gerber Rd Supercenter, California page context; $2.92 / 396.89332375g. Price source (observed 2026-10-28).
- cooked white beans, drained: Walmart US, US online listing; store not stated in captured result; $0.92 / 283.49523125g. Price source (observed 2026-10-28). Net ounces are converted at 28.349523125 g per ounce before the separate drained-yield adjustment. USDA Food Buying Guide: 15.5 oz purchased canned kidney beans yields about 10 oz drained, unheated beans. The kidney-bean yield is an estimate for the white kidney/cannellini variety, not a measured yield for this brand. Nutrition uses a separately identified cooked/drained reference; sodium and water content vary with brand and rinsing. No unmeasured sodium reduction for rinsing is applied.
- spinach, chopped: Walmart US, South Hill Supercenter page context; state not captured; $1.97 / 283.49523125g. Price source (observed 2026-10-28).
- onion, thinly sliced: Walmart US, Phoenix E Thomas Rd Supercenter, Arizona page context; $2.76 / 1197.4838568g. Price source (observed 2026-10-28). Edible package mass uses USDA Food Buying Guide yield: 1 lb purchased mature whole onions yields 0.88 lb raw ready-to-cook onion; actual trimming loss varies.
- garlic, minced: Walmart US, Sacramento Gerber Rd Supercenter, California page context; $3.07 / 170.09713875g. Price source (observed 2026-10-28).
- lemon juice: Walmart US, South Hill Supercenter (retailer listing context); $2.24 / 946.352946g. Price source (observed 2026-10-27). 32 US fl oz = 946.352946 mL. Density assumed 1 g/mL for costing only; not a measured density. Bottled reconstituted juice reference; freshly squeezed juice may cost more.
- olive oil: Walmart US, US online listing; store not stated in captured result; $5.94 / 469.23333572g. Price source (observed 2026-10-28). Package mass is estimated from the olive-oil label reference of 14 g per 15 mL (0.933333 g/mL); retailer package quantity is volume, not measured mass. US fluid ounces converted at 29.5735295625 mL per fl oz.
- ground black pepper: Walmart US, US online listing; store not independently selected; $3.58 / 85.04856937g. Price source (observed 2026-10-28). Net avoirdupois ounces converted at exactly 28.349523125 g per ounce.
- fine salt: Walmart US, Sacramento Gerber Rd Supercenter, California page context; $0.94 / 737g. Price source (observed 2026-10-28).
Canada · CAD
- firm tofu, drained and cubed: PriceSmart Foods, Richmond - Ackroyd pickup context displayed on the Canadian retailer page; $3.99 / 350g. Price source (observed 2026-10-28). Cost proxy only. Preserve the separately identified Nasoya nutrition reference and its warning that water content varies; ingredient weight remains drained, before pressing. Single displayed payable price; no was price, sale-information section, promotion label or expiry shown in captured primary product listing. The retrieved retailer snapshot was crawled six days before access; this is a dated estimate, not a checkout quote.
- cooked white beans, drained: Walmart Canada, Canada online listing; store not stated in captured result; $1.44 / 348.38709677g. Price source (observed 2026-10-28). The volume-labelled Canadian can's gross contents mass is estimated at 1 g/mL before the separate drained-yield adjustment; neither this density nor the resulting drained mass was measured by the retailer. USDA Food Buying Guide: 15.5 oz purchased canned kidney beans yields about 10 oz drained, unheated beans. The kidney-bean yield is an estimate for the white kidney/cannellini variety, not a measured yield for this brand. Nutrition uses a separately identified cooked/drained reference; sodium and water content vary with brand and rinsing. No unmeasured sodium reduction for rinsing is applied.
- spinach, chopped: Walmart Canada, Mississauga Heartland, Ontario; L5V 2N6 page context; $3.44 / 142g. Price source (observed 2026-10-28).
- onion, thinly sliced: Walmart Canada, Canada online listing; store not stated in captured result; $2.44 / 1197.4838568g. Price source (observed 2026-10-28). Edible package mass uses USDA Food Buying Guide yield: 1 lb purchased mature whole onions yields 0.88 lb raw ready-to-cook onion; actual trimming loss varies.
- garlic, minced: Walmart Canada, Mississauga Heartland, Ontario; L5V 2N6 page context; $3.97 / 453.59237g. Price source (observed 2026-10-28).
- lemon juice: Walmart Canada, Canada online listing; retailer default context, checkout not verified; $2.88 / 946g. Price source (observed 2026-10-27). 946 mL bottle; density assumed 1 g/mL for costing only. Bottled reconstituted juice reference, not freshly squeezed. Retrieved listing showed out of stock; price is a reference snapshot, not availability or checkout verification.
- olive oil: Walmart Canada, Mississauga Heartland, Ontario; L5V 2N6 page context; $10.97 / 933.33333333g. Price source (observed 2026-10-28). Package mass is estimated from the olive-oil label reference of 14 g per 15 mL (0.933333 g/mL); retailer package quantity is volume, not measured mass.
- ground black pepper: Walmart Canada, Canada online listing; store not independently selected; $2.27 / 85g. Price source (observed 2026-10-28).
- fine salt: Walmart Canada, Mississauga Heartland, Ontario; L5V 2N6 page context; $1.63 / 1000g. Price source (observed 2026-10-28).


