Notion Meal Planning Template: Weekly Meals and Grocery Lists

Notion Meal Planning Template: Weekly Meals and Grocery Lists

Why a Notion Meal Planner Beats a Paper List

Most meal planning falls apart at the grocery store. You plan seven dinners on Sunday, scribble a shopping list, then realize halfway down aisle four that the recipe you wrote as “stir fry” needs soy sauce, sesame oil, and a knob of ginger you already have at home. The plan and the list live in two different places, so they drift apart, and by Wednesday you are ordering takeout because the fridge is full of ingredients that do not add up to a meal.

A Notion meal planner fixes this by making the plan and the list the same thing. Instead of typing a grocery list by hand, you connect each meal to the ingredients it needs, and the shopping list builds itself from whatever you scheduled for the week. Change your mind about Thursday and the list updates. This is the same database-driven pattern behind the free Notable Dashboard: one set of structured data surfaced through several filtered views, so you enter information once and read it back in whatever shape the moment calls for.

Below is a practical, from-scratch build. You can create it as a standalone page or drop it into an existing dashboard. If you want a working reference for how linked databases, rollups, and filtered views behave in practice, duplicate the free Notable Dashboard and keep it open in another tab while you build.

📋

Get the Free Notion Dashboard

Tasks, goals, habits, budget and calendar. 100% free.

Grab the Free Template →

The Two-Database Core

The whole system runs on two databases that talk to each other. Resist the urge to add more until these are working. A common beginner mistake is building five databases before understanding how two of them relate; you end up with a mess that is harder to maintain than the paper list you were trying to replace.

Database 1: Meals

This is your schedule — one row per meal, per day. Create a new database (a full-page one is easiest to start) and add these properties:

  • Name — the title of the meal, e.g. “Sheet-pan chicken and vegetables.” This is the default title property.
  • Date — a Date property. This is what powers your weekly calendar view, so every meal needs one.
  • Meal Type — a Select property with options like Breakfast, Lunch, Dinner, Snack. Give each a color so the week reads at a glance.
  • Ingredients — a Relation property that links to the Ingredients database (you will create that next). This is the connection that makes the grocery list automatic.
  • Servings — a Number property. Useful later if you want to scale portions.
  • Recipe Link — a URL property for the source recipe, so you are not hunting through bookmarks at dinner time.
  • Status — a Select property (Planned, Cooked, Skipped) if you like tracking what actually happened versus what you intended.

Keep Meals lean. Its job is to answer one question: what am I eating, and when? Everything about ingredients lives in the second database.

Database 2: Ingredients (Your Grocery Source)

This database is a reusable pantry of everything you cook with. Create it and add:

  • Name — the ingredient, e.g. “Chicken thighs” or “Olive oil.” One row per ingredient, and only one — do not create “Chicken thighs” three times.
  • Aisle / Category — a Select property (Produce, Meat & Seafood, Dairy, Pantry, Frozen, Bakery, Household). This lets you group the shopping list the way a store is actually laid out, which is the single biggest time-saver at checkout.
  • Meals — a Relation property. This is the other end of the link you made in the Meals database; Notion creates it automatically when you set up the relation, so you do not add it twice.
  • Have It? — a Checkbox for staples you always keep on hand (salt, oil, common spices), so they can be filtered off the shopping list.
  • Typical Unit — an optional Text or Select field (“bunch,” “lb,” “can”) to jog your memory about quantities.

The reason ingredients get their own database, rather than being a text field inside each meal, is reuse. Garlic appears in a dozen recipes. When it lives as one row that many meals point to, scheduling any of those meals automatically pulls garlic onto your list — no retyping, no typos, no “did I already add that?”

Connecting Meals to Ingredients

The Relation property is where Notion earns its keep. When you added the Ingredients relation to the Meals database, Notion asked whether to show it on the related database too — say yes, and both sides stay in sync. Now open any meal and, in the Ingredients field, start typing. Select existing ingredients or create new ones inline. Each meal ends up pointing to a handful of ingredient rows, and each ingredient row shows every meal that uses it.

This is the exact mechanic the Notable Dashboard uses to tie tasks to projects and transactions to categories: one relation, surfaced from both directions. Once you internalize it here, the rest of Notion’s power features start to click. A relation is just a wire between two tables; a rollup, which we get to shortly, reads values back across that wire.

Spend your first session just entering meals and wiring up ingredients. Ten or fifteen meals is plenty to make the system feel alive. You are building a small library you will reuse for months, so accuracy now pays off every week after.

Building the Weekly Views

With data in place, you never look at the raw database again. Instead you create views — different lenses on the same rows. Add each of these to your Meals database by clicking the view tabs at the top.

Calendar View

Create a new view of type Calendar and point it at the Date property. Your meals now appear on a monthly grid. This is the closest thing to the paper meal-planning sheet on the fridge, except you can drag a meal from Tuesday to Friday and every downstream list follows. Set the card preview to show Meal Type so breakfasts and dinners are visually distinct.

Weekly Board View

If a full month feels like too much, add a Board (Kanban) view grouped by a formula or by Meal Type, and filter it to the current week. Many people prefer a board with columns for each day of the week; you can approximate this by grouping on a Day-of-week formula property. Drag-and-drop planning here feels a lot like moving sticky notes around, which is exactly the tactile planning experience most people want on a Sunday afternoon.

This Week Table

Add a Table view filtered to Date is within the next 7 days, sorted by Date ascending. This is your at-a-glance cooking schedule. Because it is filtered, past meals drop off automatically and you are never scrolling through last month’s dinners.

The Auto-Building Grocery List

Here is the payoff. You want a shopping list that reflects exactly what you planned this week, without typing a single item. There are two clean ways to get it, depending on how much precision you want.

Method A: Filtered Ingredients View (Simplest)

On the Ingredients database, add a Rollup property. Point it at the Meals relation, choose the meal’s Date property, and set it to calculate “Show latest” or “Show range.” Then add a second rollup or a filter that checks whether any linked meal falls in the current week. Create a new Board view of the Ingredients database, group it by Aisle / Category, and filter to ingredients whose linked meals are scheduled this week and where “Have It?” is unchecked.

The result is a shopping list grouped by store section, containing only ingredients for meals you actually scheduled, minus the staples you already own. Walk the store, check items off, done. When you re-plan next week, the same view repopulates with the new week’s ingredients — nothing to rebuild.

Method B: Rollup Ingredient Counts (More Detail)

If you want to know that three of this week’s meals call for onions, add a rollup on the Ingredients database that counts linked meals in the current week. A count of zero means you do not need it; a higher count is a rough proxy for quantity. This will not do true unit math — Notion rollups count and sum property values, they do not aggregate “2 onions + 1 onion = 3 onions” across free text — but the count is usually enough to tell you whether to grab one onion or a whole bag.

Be honest with yourself about how much precision you need. For most households, “these are the ingredients, grouped by aisle, for the meals I planned” is the entire problem solved. Chasing exact quantities in Notion is possible but fiddly, and it is the point where a lot of people over-engineer a system they then stop using.

A Quick Stats Row for Your Week

The Notable Dashboard opens with a Quick Stats row — Tasks Due Today, Active Goals, Monthly Revenue, Upcoming Events — where each number is a filtered or rolled-up view rather than something you type in. You can borrow the same idea for meals. At the top of your planner page, embed a few linked views set to show only a count or a single number:

  • Meals Planned This Week — a linked Meals view filtered to the next 7 days, displayed as a count.
  • Ingredients to Buy — a linked Ingredients view counting items needed this week that you do not already have.
  • Nights Unplanned — harder to automate perfectly, but a filtered view of dinners this week gives you a quick read on the gaps.

These live numbers turn the page from a static document into a small dashboard that tells you, the moment you open it, whether you are ready for the week or have planning left to do.

Building It Alongside the Notable Dashboard

You do not have to build this in isolation. Because the meal planner uses the same primitives — databases, relations, rollups, and filtered views — it slots neatly into an existing Notion workspace. If you already run the free Notable Dashboard, add the meal planner as a linked entry in its left Navigation hub, right alongside Tasks & Projects and the Content Calendar. Your groceries can even feed the Dashboard’s Financial Tracker: log a weekly shopping trip as an Expense in the Groceries category, and your food spend rolls up automatically into the same Monthly Budget view that tracks everything else.

That is the quiet advantage of learning one pattern well. Once you understand that a Notion workspace is really just a handful of connected databases shown through different filters, you stop hunting for a separate app for every job. Meal planning, budgeting, habits, and projects all become views on top of structured data you own and can reshape at will.

Tips to Keep It From Falling Apart

Systems die from friction. A few habits keep this one alive:

  • Build a meal library, not one-off meals. When you cook something good, leave it in the database. Over a couple of months you accumulate a personal cookbook you can drag onto next week’s calendar in seconds.
  • Mark staples with “Have It?” Nothing kills trust in an auto-list faster than salt and pepper showing up every single week. Check the box once and they stay off the list.
  • Do a two-minute pantry pass before shopping. Uncheck any staple you have run out of so it rejoins the list. This is the only manual upkeep the system really needs.
  • Plan on your phone. The Notion mobile app shows the same views, so you can drag meals around from the couch and shop from the same list in the store.
  • Resist adding databases. A “Recipes” database, a “Nutrition” tracker, a “Restaurants” log — each is tempting and each is friction. Add one only when the two-database core genuinely cannot answer a question you keep asking.

Getting Started Today

You can have the core running in under an hour. Create the two databases, add the Relation between them, enter ten meals with their ingredients, and build the calendar view and the aisle-grouped grocery board. That alone replaces the fridge sheet and the paper shopping list with something that stays in sync automatically. Add the Quick Stats row and the weekly board later, once the basics have earned their place in your routine.

The larger point is transferable. The database-plus-relations-plus-filtered-views pattern you just learned for dinners is the same one that runs financial trackers, content calendars, and full personal dashboards. Build the meal planner, and you have not just solved this week’s groceries — you have learned the move that makes Notion genuinely useful.

Sources & Further Reading

Similar Posts

Leave a Reply

Your email address will not be published. Required fields are marked *