Meal planning that cuts food waste
Most food is wasted at home. A bit of planning around shared ingredients fixes a lot of it.
You buy a big bunch of coriander for one curry. The recipe wants two tablespoons. The rest sits in the fridge, slowly turning into green soup. A week later it goes in the bin, right next to half a bag of spinach and the last of the cream.
Sound familiar? You're in good company.
The UN's Food Waste Index Report 2024, written by UNEP with the charity WRAP, found that the world wasted about 1.05 billion tonnes of food in 2022. That's almost a fifth of all the food available to people. And 60% of it was wasted at home, not in shops or restaurants. UNEP puts it like this: households wasted over a billion meals a day. Food loss and waste also makes up about 8 to 10% of the world's greenhouse gas emissions.
The UK has some of the best data on this, thanks to WRAP. Their latest household report says UK homes threw away 6 million tonnes of food and drink in 2022. About 4.4 million tonnes of that was perfectly good to eat. That edible food was worth £17 billion, or roughly £1,000 a year for a family of four.
Here's the bit that matters for us. WRAP also looked at why. Nearly 40% of the edible food was binned because it wasn't used in time, or it looked off, or it was past the date on the label. About a quarter was because people cooked or served too much. Fresh produce was the most wasted food of all.
That's good news, honestly. Those are planning problems. And planning problems have planning fixes. Here's how we do meal planning to reduce food waste, without turning dinner into homework.
Plan around the ingredients, not the recipes
Most meal plans start with recipes. Monday is curry, Tuesday is pasta, Wednesday is tacos. Then you buy whatever each recipe asks for. That's how you end up with three herbs, two kinds of cream and a bag of something you'll use once.
Flip it around. Start with the fresh things, then pick recipes that share them.
Say you buy coriander for Monday's curry. Then Wednesday is tacos with coriander on top. Friday is a noodle salad with the last handful. One bunch, three meals, nothing in the bin. The same goes for spinach (curry, then an omelette, then a pasta), peppers (stir fry, then fajitas) and cream (a soup, then a pasta sauce).
A handy rule: every perishable thing you buy should show up in at least two meals. If it only appears once, either swap the recipe or plan a second use for it.
Some ingredients are worse than others. These are the usual troublemakers:
- Fresh herbs. They come in big bunches and wilt in days.
- Bagged salad and spinach. Gone soggy before you know it.
- Cream, crème fraîche and soft cheese. Opened for one recipe, forgotten for the rest.
- Half a vegetable. Half an onion, half a pepper, half a cabbage.
- Bread. Buy it fresh, then freeze half straight away.
If a recipe needs only a little of one of these, that's your cue to plan another meal around the rest.
Even with a good plan, things get left over. So plan for it. Pick one night a week, maybe Thursday or Friday, and make it a use-it-up night. No shopping. You cook from whatever is still in the fridge.
Fried rice, omelettes, frittatas, soups, wraps and "everything" pasta are your friends here. They're happy to take half a pepper, a few mushrooms and that last bit of cheese. Pair it with a leftovers night (cook a bit extra earlier in the week and heat it up) and two of your seven nights already cost almost nothing.
The tricky part is knowing what to cook with a random fridge. That's where a little help is nice. Type what you have into Fridge Roulette below and press Spin. It finds recipes that use your ingredients, shows how much of each one your fridge already covers and tells you what you're missing. Tick the box if you're happy to pop to the shop for one thing. It assumes you have basics like salt, oil and flour. It's free and you don't need an account.
Fridge Roulette
Live, on the real API. Go on, give it a spin.
If it lands on a recipe that needs something you don't have, it often suggests a swap. No butter? It might say olive oil, and tell you when that won't work.
A few more habits help a lot:
Check the fridge before you plan. Not after. Whatever's already there goes into this week's first meals.
Cook the most fragile things first. Fish, salad and herbs early in the week. Root veg, tins and frozen things later.
Shop with one list. Add up what your recipes need, so you buy one bag of onions, not two. We wrote a whole guide on this: how to make a weekly meal plan with a grocery list.
Cook the right amount. If a recipe serves six and you're two, either halve it or plan the leftovers on purpose. Remember, a quarter of the waste is food cooked or served and never eaten.
Use your freezer. Bread, cooked rice, chilli, soup, grated cheese and chopped herbs in a bit of oil all freeze well. The freezer is a pause button.
If you'd like a starting point for the week, our free meal planner gives you a week of lunch and dinner ideas in one click, with a swap button on every meal. Keep the ones that share ingredients, swap the ones that don't.
None of this needs to be perfect. If you waste a little less than last week, that's a win. For your wallet and for the planet.
A short note for developers
If you're building a meal planning or grocery app, ingredient overlap is a lovely feature to add. And it's not hard.
Tiny Plates is a free recipe API, and two of its endpoints do most of the work. /pantry takes up to 20 ingredients and returns recipes ranked by how much of each recipe they cover, with the missing ingredients listed:
curl 'https://api.tinyplates.dev/pantry?ingredients=coriander,spinach,cream&maxMissing=2' \
-H 'Authorization: Bearer rd_your_api_key'
Feed it the leftovers of a plan, and you get "what to cook next with the rest". Then send the week's recipes to /shopping-list. Every item comes back with the recipeIds that use it. An item with only one recipe id is a waste risk. Flag it, or suggest a second recipe that uses it. We go deeper in one shopping list for a week of recipes and build Fridge Roulette with React.
The free plan gives you 50 requests a day, with no credit card. Grab a key if you'd like to try it.