One dinner · the adults, and the toddler

The
20‑Minute
Table

100 fast, whole-food recipes for the years when dinner has to happen anyway. Nothing over twenty minutes from a cold start, one pan or basket to wash, and every recipe tells you how to lift a toddler’s portion out of the same pan — before the salt, before the chilli.

100Recipes
49Cuisines
20Minutes, max
54Vegetarian

Lunch & Dinner50

0119min

Harissa Chickpea & Cauliflower Crunch

Everything goes in one basket, comes out blistered and craggy, and gets cooled down by a lemony yoghurt you stir in a mug.

Air FryerTunisian / North AfricanVeg710 kcal
0218min

Miso-Glazed Salmon with Charred Tenderstem

Three-ingredient glaze, one basket, nine minutes. The most reliable weeknight fish there is.

Air FryerJapanese680 kcal
0320min

Peri-Peri Chicken Thighs with Blistered Peppers

A peri-peri rub built from two chillies and a lemon, blistering onto chicken while the peppers soften in the drippings underneath.

Air FryerPortuguese-Mozambican660 kcal
0419min

Tandoori Paneer Tikka Skewers

Paneer takes on its yoghurt marinade in the time it takes to cut the peppers, then chars at the corners in eight minutes.

Air FryerIndianVeg745 kcal
0519min

Gochujang Tofu with Smashed Sesame Cucumber

Tofu goes in plain, comes out with a chewy skin, and meets a sticky gochujang glaze and a cold, garlicky cucumber bruised with the flat of a knife.

Air FryerKoreanVeg640 kcal
0619min

Za'atar Chicken with Lemon Courgette

Za'atar toasts on the surface of the chicken while courgettes underneath collapse into something halfway between roasted and braised.

Air FryerLevantine700 kcal
0714min

Chilli-Lime Prawns with Avocado & Coriander

Six minutes from cold prawns to hot, smoky, lime-sharp ones, tipped over avocado that has been mashed roughly on the board.

Air FryerMexican665 kcal
0818min

Sicilian Sea Bass with Fennel, Olive & Orange

Fennel gets a four-minute head start, then the fish goes on top and the whole thing finishes together under a slick of orange and olive.

Air FryerItalian (Sicilian)610 kcal
0920min

Jerk Chicken with Charred Pineapple

A jerk rub stirred in a bowl rather than blitzed in a blender, with pineapple going dark and jammy in the gaps between the thighs.

Air FryerJamaican760 kcal
1017min

Shawarma-Spiced Turkey with Sumac Onions

Turkey cut into thin strips crisps at the edges under a shawarma spicing, served with red onions gone soft and pink in nothing but sumac and lemon.

Air FryerMiddle Eastern670 kcal
1120min

Berbere Chicken & Sweet Potato Bowl

Chicken thighs go into the basket wearing a wet berbere rub, laid over sweet potato that has already had a head start.

Air FryerEthiopian690 kcal
1218min

Cajun Blackened Cod with Charred Corn Salsa

Cod under a thick coat of smoked paprika and cayenne, sweetcorn charring underneath, and a salsa stirred together in the residual heat.

Air FryerAmerican (Louisiana)695 kcal
1318min

Furikake Salmon Rice Bowl

Salmon lacquered with soy and honey, flaked hot over warm rice, then buried under toasted sesame and torn nori.

Air FryerHawaiian-Japanese745 kcal
1415min

Chermoula Prawns with Courgette Ribbons

A green, garlicky chermoula does double duty here — half coats the prawns for the basket, half dresses raw courgette ribbons that never see a pan.

Air FryerMoroccan670 kcal
1519min

Salt & Pepper Tofu with Pak Choi

Cornflour-dusted tofu goes craggy in the basket, pak choi joins late, and the garlic and chilli go in at the very end so they toast rather than scorch.

Air FryerChinese (Cantonese)Veg680 kcal
1618min

Pad Krapow — Thai Basil Chicken

Chicken chopped by hand rather than minced, hit hard with garlic and bird's eye chilli, finished with two handfuls of basil off the heat.

One PanThai665 kcal
1718min

Quick Thai Green Curry Prawns

The paste fries in the thick cream from the top of the tin until the oil splits out green — the difference between a proper curry and hot coconut soup.

One PanThai660 kcal
1815min

Ginger-Garlic Prawn & Broccoli Stir-Fry

A splash of water and a lid turn the wok into a steamer, so the broccoli is done before the prawns go in.

WokChinese660 kcal
1916min

Sichuan Cumin Beef with Peppers

Toasted cumin, numbing peppercorn, and beef that hits the wok in one layer and leaves it four minutes later.

WokChinese (Sichuan)670 kcal
2019min

Korean Bulgogi Beef Bowl

Grated pear does in ten minutes what an overnight marinade does, and the beef caramelises in the liquid it came in.

One PanKorean685 kcal
2118min

Vietnamese Lemongrass Chicken Bowl

Chicken thighs cooked hard in lemongrass and fish sauce, tipped over cold noodles, cucumber and a heap of soft herbs.

One PanVietnamese740 kcal
2218min

Shogayaki — Japanese Ginger Pork with Cabbage

Thin pork, a serious amount of grated ginger, and a cold mound of shredded cabbage to cut through it.

One PanJapanese645 kcal
2318min

Kerala Coconut Prawn Fry

Mustard seeds popping in coconut oil, curry leaves crackling, prawns in and out of the pan in three minutes.

One PanIndian (South)640 kcal
2415min

Egg & Spinach Bhurji

Indian scrambled eggs with tomato, green chilli and a whole bag of spinach folded in at the last second.

One PanIndianVeg610 kcal
2515min

Fifteen-Minute Chana Masala

Three tins of chickpeas and ten minutes at a proper heat, for a sauce that tastes cooked rather than merely warmed.

One PanIndianVeg680 kcal
2616min

Turkish Menemen

Soft green peppers cooked down in olive oil with grated tomato, then eggs stirred through until barely set.

One PanTurkishVeg710 kcal
2717min

Green Shakshuka

Eggs poached into a pan of collapsed greens, garlic and green chilli, feta melting into the hollows.

One PanIsraeli / LevantineVeg750 kcal
2820min

Greek Lemon Chicken & Orzo

The orzo cooks in the pan with the chicken, drinking up the browned bits and the stock, and comes out creamy without a drop of cream.

One PanGreek745 kcal
2920min

Prawn Saganaki with Feta

Prawns cooked straight into a sharp tomato sauce, with chunks of feta dropped on at the end so they soften rather than melt away.

One PanGreek750 kcal
3020min

Broccoli Aglio e Olio with Anchovy

Broccoli steamed and then browned in the same pan, dressed in anchovy-melted garlic oil and covered in toasted sourdough crumbs.

One PanItalian750 kcal
3118min

Tuscan White Bean, Kale & Lemon Skillet

Cannellini beans crushed into their own broth with rosemary, garlic and cavolo nero, sharpened hard with lemon at the end.

One PanItalian (Tuscan)725 kcal
3218min

Tuna Puttanesca Beans

Everything comes out of a tin or a jar, and eight minutes later it tastes like it took an hour.

One PanItalian770 kcal
3318min

Gambas al Ajillo with Chickpeas

Sliced garlic brought up slowly in a lot of olive oil, then chickpeas blistered in it and prawns cooked for barely two minutes.

One PanSpanish755 kcal
3420min

Smoky Paprika Chicken with Piquillo Peppers

Chicken thighs rubbed with two kinds of pimentón, browned hard, then loosened with sherry vinegar and torn piquillo peppers.

One PanSpanish710 kcal
3520min

Chipotle Chicken, Black Bean & Charred Corn Skillet

Frozen corn blackens in a dry pan, the chicken browns in the fat that follows, and the beans arrive last to pull the whole thing together.

One PanMexican750 kcal
3619min

Lomo Saltado

Beef, onion and tomato seared hard in a wok, splashed with vinegar and soy, with the chips folded straight back in.

WokPeruvian760 kcal
3720min

Moqueca Express — Brazilian Coconut Fish Stew

Chunks of white fish dropped into a coconut and pepper broth and left completely alone until they turn opaque.

One PanBrazilian745 kcal
3820min

Filipino Adobo Flash Chicken

All the salt, sour and garlic of a long-braised adobo, done in the time it takes thin-sliced thigh to cook through.

One PanFilipino650 kcal
3918min

Nasi Goreng Cauliflower Rice with Fried Egg

Cauliflower rice, sambal and prawns fried hot and fast, with a crisp-edged egg on every plate.

WokIndonesian640 kcal
4017min

Sambal Green Beans with Egg

Beans blistered in a dry wok, then tossed through a sweet-sour sambal with soft-set egg clinging to them.

WokMalaysian750 kcal
4119min

Burmese Golden Turmeric Chicken

Onions cooked down in turmeric oil until the fat itself turns orange, with thin-sliced chicken finished in the same slick.

One PanBurmese725 kcal
4220min

Gomen Be Siga — Ethiopian Collards with Beef

Beef seared hard and lifted straight out, greens cooked down in the spiced butter it leaves behind, and the two put back together at the last moment.

One PanEthiopian640 kcal
4318min

Ras el Hanout Turkey with Herbs & Almonds

Turkey mince seared hard, spiced while it sizzles, then cooled with lemon, chickpeas and a fistful of herbs.

One PanMoroccan760 kcal
4420min

West African Peanut Stew Express

Coarsely grated sweet potato melts into peanut butter and tomato in a quarter of the usual time.

One PanGhanaian / Senegalese755 kcal
4520min

Georgian Walnut-Garlic Chicken with Green Beans

Chicken browned in the pan, then folded through a raw walnut and garlic paste loosened with the water the potatoes boiled in.

One PanGeorgian645 kcal
4618min

Deconstructed Vietnamese Summer Roll Bowl

Everything that goes inside a summer roll, without the wrapper wrestling. The kettle is the only heat.

No CookVietnamese690 kcal
4720min

Chicken Fattoush with Crisped Chickpeas

One basket does the chicken, the chickpeas and the bread while the salad is built on the board beside it.

Air FryerLebanese700 kcal
4816min

Salmon Poke Bowl

A four-ingredient marinade, ten minutes of chopping, and fish that never meets heat at any point.

No CookHawaiian-Japanese730 kcal
4917min

Prawn Ceviche Tostada Salad

Built on cooked cold king prawns, so there is no raw-fish window to manage — just lime, chilli and a board full of chopping.

No CookPeruvian-Mexican690 kcal
5014min

Turkish Çoban Salad with Tuna & Sumac

Shepherd's salad cut properly small, with the oil from the tuna tin doing half the dressing.

No CookTurkish705 kcal

On the Side15

8610min

Charred Lemon Broccoli with Almonds

Broccoli with blackened tips, soft garlic chips and lemon slices that turn bitter-sweet and almost jammy in the heat.

Air FryerItalianVeg175 kcal
878min

Smashed Cucumber with Garlic & Sesame

Cucumbers cracked open with the flat of a knife so the dressing gets inside them rather than sliding off.

No CookChineseVeg95 kcal
8814min

Harissa Carrots with Yoghurt

Carrots blistered until their sugars catch, dropped straight onto cold garlic yoghurt so the two meet halfway.

Air FryerTunisianVeg140 kcal
898min

Garlicky Greens with Chilli & Lemon

Horta, more or less: greens cooked hard and fast in good oil, then flooded with lemon the moment the pan comes off.

One PanGreekVeg150 kcal
908min

Shirazi Salad

Everything cut to the size of a pea, dressed with lime and dried mint, and eaten with a spoon.

No CookIranianVeg120 kcal
918min

Coconut Sambol

Coconut, chilli and shallot worked together with your fingers until the whole bowl turns brick red.

No CookSri LankanVeg150 kcal
9218min

Crispy Rosemary Potatoes

Small dice of potato, a spoonful of semolina for grip, and rosemary added late so it toasts instead of burning.

Air FryerBritishVeg230 kcal
938min

Sigeumchi Namul — Sesame Spinach

Half a kilo of spinach collapses to a handful in forty-five seconds, then gets wrung out and dressed while still warm.

One PanKoreanVeg95 kcal
946min

Tomato, Red Onion & Sumac Salad

Ripe tomatoes cut thick, onion rinsed of its bite, and enough sumac to turn the oil pink.

No CookTurkishVeg105 kcal
958min

Quick Pickled Red Onions

Thin pink half-moons in lime and cider vinegar, edible in twenty minutes and considerably better tomorrow.

No CookMexicanVeg90 kcal
9610min

Buttered Cabbage with Caraway

Shredded cabbage steamed in butter and a splash of water, the caraway toasted first so it tastes of rye bread rather than soap.

One PanPolishVeg125 kcal
978min

Sesame Green Beans with Ginger

Beans cooked dry in a hard, hot pan until they blister, then tumbled off the heat with ginger, soy and crushed sesame.

One PanJapaneseVeg110 kcal
986min

Cucumber, Mint & Yoghurt Raita

The cooling bowl that belongs beside every spiced dish in this book — thick, green-flecked, and never watery.

No CookIndianVeg75 kcal
998min

Blistered Padrón Peppers

Small green peppers blistered until the skins go slack and freckled, salted hot — and roughly one in ten will be fierce.

Air FryerSpanishVeg70 kcal
10012min

Charred Broccolini with Miso Butter

Blackened stems turned through butter mashed with white miso, which melts down the stalks and sets to a glaze.

Air FryerJapaneseVeg160 kcal

Breakfast20

5118min

Sweet Potato, Egg & Chilli Hash

Diced sweet potato goes craggy at the edges, then you push it into four mounds and crack the eggs straight into the basket.

Air FryerAmericanVeg420 kcal
5212min

Halloumi, Tomato & Za'atar Plate

Thick halloumi slices sit on a bed of cherry tomatoes; the tomatoes collapse into their own dressing while the cheese takes on a blistered gold crust.

Air FryerCypriotVeg445 kcal
5315min

Masala Omelette Muffins

The masala omelette poured into silicone muffin cases, so eight of them cook at once and nobody has to stand over a pan.

Air FryerIndianVeg200 kcal
5418min

Banana, Oat & Almond Butter Bake

A shallow tin of baked oats that sets like a soft flapjack, spooned out hot under cold yoghurt.

Air FryerBritishVeg430 kcal
5512min

Crispy Chickpea, Avocado & Lemon Toast

The chickpeas rattle around getting crisp while the bread toasts beside them in the same basket, picking up the cumin oil on the way.

Air FryerModern LevantineVeg500 kcal
5618min

Tamagoyaki with Grilled Salmon & Rice

The standard Japanese breakfast tray built in a single pan: a salted salmon fillet with blistered skin, a rolled omelette cut thick, rice and nori.

One PanJapanese540 kcal
5710min

Gyeran Bap — Korean Egg Rice

Rice loosened in a hot pan, eggs fried hard in sesame oil until the edges frill and brown, all mixed together at the table.

One PanKoreanVeg455 kcal
5818min

Ten-Minute Chicken & Ginger Congee

Cold rice fractured in the blender and boiled hard until silky, with slips of chicken poached in it at the last minute.

One PanChinese510 kcal
5918min

Rava Uttapam with Coconut Chutney

A thick, freckled semolina pancake with onion and tomato pressed into the top, and no fermenting involved.

One PanIndian (South)Veg455 kcal
6015min

Persian Herb & Feta Omelette

More herb than egg, in the manner of a kuku, cooked flat in one pan and cut into wedges at the table.

One PanIranianVeg400 kcal
6115min

Huevos Rancheros Rápidos

Tinned tomatoes fried hard with dried chilli, black beans stirred through, and eight eggs sunk into the lot under a lid.

One PanMexicanVeg495 kcal
6210min

Pan con Tomate with Soft Eggs

Bread fried in olive oil until it crackles, cold grated tomato spooned over, and an egg from the same pan with the yolk still loose.

One PanSpanishVeg425 kcal
6312min

Ful Medames

Fava beans crushed against the side of the pan with cumin and lemon, eggs cracked into the middle, eaten with your hands.

One PanEgyptianVeg370 kcal
6418min

Buckwheat Galette with Egg & Greens

A lacy buckwheat pancake with the egg cracked straight onto it and the four sides folded in to frame the yolk.

One PanFrench (Breton)Veg360 kcal
6515min

Khao Tom — Thai Rice Soup with Prawns

Last night's rice loosens into a gingery broth, and the prawns cook in the stored heat alone.

One PanThai310 kcal
6610min

Egg & Tomato Stir-Fry

Soft-scrambled eggs folded back into collapsed tomatoes, over cold rice fried underneath to catch the juices.

WokChineseVeg430 kcal
6712min

Sinangag — Filipino Garlic Rice & Egg

A whole head of garlic in last night's rice, half fried to crisp gold and saved for the top.

WokFilipinoVeg430 kcal
6810min

Ten-Minute Bircher Muesli

The overnight soak is only a hydration problem, and warm milk with a grated apple solves it while you chop the nuts.

No CookSwissVeg430 kcal
6910min

Danish Rye with Smoked Mackerel & Cucumber

Hot-smoked mackerel broken over dark rye, a sharp horseradish cream underneath it, cold cucumber and dill piled on top.

No CookDanish560 kcal
708min

Orange, Date & Almond Yoghurt Bowl

Oranges cut into rounds on the board so every drop of juice ends up on the yoghurt, with dates and almonds for chew.

No CookMoroccanVeg465 kcal

Something Afterwards15

7112min

Cinnamon Peaches with Yoghurt & Pistachio

Halved peaches go into the basket cut side up, come out collapsing at the edges but still holding in the middle, and land on cold yoghurt.

Air FryerTurkishVeg285 kcal
7210min

Bananas with Dark Chocolate & Tahini

Split bananas with chocolate pushed into the seam, six minutes in the basket, and loose tahini poured over the top.

Air FryerModern LevantineVeg255 kcal
7318min

Spiced Apple & Oat Crumble Cups

Everything you want from a crumble — hot fruit, rubble on top — in four ramekins and a fraction of the oven time.

Air FryerBritishVeg310 kcal
7412min

Charred Pineapple with Chilli, Lime & Coconut

Pineapple spears blackened at the edges, dusted with chilli and salt, and squeezed over with lime the moment they land.

Air FryerMexicanVeg225 kcal
7510min

Pan-Roasted Figs with Honey & Walnuts

Figs cut side down in a hot dry pan for two minutes, then honey stirred in with the heat off, so nothing has a chance to catch.

One PanGreekVeg305 kcal
7615min

Mango & Coconut Sticky Oats

Mango sticky rice, rebuilt with oats so it comes together in ten minutes rather than an hour of soaking and steaming.

One PanThaiVeg310 kcal
7718min

Fifteen-Minute Cardamom Kheer

A pouch of cooked rice, pulsed short and simmered in milk, gets you to kheer in fifteen minutes on the hob instead of an hour of stirring.

One PanIndianVeg305 kcal
7815min

Apricots Poached in Cinnamon & Orange

Apricot halves sit in barely moving orange juice with a cinnamon stick until they slump, and the juice reduces into syrup.

One PanTurkishVeg265 kcal
7910min

Ginger Milk Curd

Hot milk poured onto raw ginger juice sets by itself into a soft custard, with no eggs and no gelatine.

One PanChinese (Cantonese)Veg224 kcal
8010min

Rosewater, Pistachio & Pomegranate Yoghurt

Cold strained yoghurt under a drift of pomegranate seeds and green pistachios, scented with just enough rosewater to notice.

No CookIranianVeg255 kcal
8110min

Chocolate Avocado Mousse

Ripe avocado blitzed with cacao and soaked dates into something dark and cold that hides what it is made of.

No CookMexicanVeg280 kcal
828min

Espresso & Ricotta Cream with Cocoa

The coffee-and-cream half of a tiramisù, beaten out of a tub of ricotta, with no eggs and no mascarpone.

No CookItalianVeg260 kcal
8315min

Date, Almond & Cacao Truffles

Sixteen dark, chewy, cardamom-scented balls out of one food processor bowl, rolled in green pistachio dust.

No CookLevantineVeg276 kcal
8410min

Mango & Coconut Cream Bowl

Ripe mango cubed over coconut cream beaten from the top of a chilled tin, with toasted coconut and cashews.

No CookFilipinoVeg275 kcal
8510min

Berry & Skyr Whip with Walnut Rubble

Frozen berries crushed half-thawed through thick skyr, under a salted rubble of walnuts.

No CookIcelandicVeg270 kcal

Open source

Take it, cook it, change it

Every recipe, the typesetter that turns them into the book, and this website are on GitHub. The code is MIT, the recipes are CC BY 4.0. Fork it, add the dinners your family actually eats, translate it, print it for the inside of a cupboard door. Nobody should have to choose between eating well and having twenty minutes.