Thanksgiving Recipe Guide 2026

Thanksgiving Recipe Guide 2026

<!– ============================================================================
A COUPLE COOKS — THANKSGIVING RECIPES LANDING PAGE
Paste this whole file into one Custom HTML block.

TO EDIT THE WRITING: change the text inside COPY below. That's it.
– Keys match the page top to bottom (hero → Sonja's note → featured recipe → sections → …).
– Plain HTML is allowed inside strings (, , ).
– Lists (note.body, featured.why, plan.steps[].items) are arrays: one string per paragraph/bullet.
Add or remove entries freely.
– Each string is wrapped in double quotes: apostrophes are fine, but use single quotes for
link attributes (
). Keep the commas, and no line breaks inside a string.
Recipe cards (names, links, photos) live in the markup further down.
============================================================================ –>

var ACC_COPY = {
hero: {
title: “Thanksgiving Recipe Guide 2026”,
dek: “Here’s everything to actually cook for Thanksgiving, all in one place! As a cookbook author and host of this holiday for years, here are my favorite appetizers, Thanksgiving side dishes, salads, creative main dishes, desserts, and even signature drinks!”,
caption: “This year’s cover star”
},
note: {
subtitle: “Cookbook author & host of a decade of Thanksgivings”,
heading: “Author’s Note”,
body: [
“Here’s what I’ve learned from almost a decade of hosting: the classic Thanksgiving table is a lot of beige-on-beige. But it can be one of the most colorful, fresh, delicious meals of the year!”,
“My Thanksgiving has never really been about the turkey but about everything around it: the apple salad recipe I make every year, my Brussels sprout casserole that tastes like mac and cheese, and the pumpkin tiramisu that doesn’t need the oven. These are actually the dishes that get the most love around the table!”,
“Here are my very favorite recipe ideas for Thanksgiving. Pick one or two to try, see my make-ahead ideas, and build a menu that’s yours. Happy Thanksgiving from my kitchen to yours! And please shoot me a note with any questions.”
],
signoff: “— Sonja”
},
featured: {
title: “Apple Salad with Maple Vinaigrette”,
quote: “If I could eat one salad for the rest of time, this one is it.”,
quoteBy: “Sonja”,
why: [
“Crisp tart apple slices with bursts of pomegranate seeds, creamy goat cheese, and crunchy spiced pecans over fresh greens.”,
“A zingy maple vinaigrette dressing gives it a sweet tart punch.”,
“Make-ahead: make dressing up to a week early and pecans a few days in advance.”
],
button: “Get the recipe”
},
sections: {
appetizers: {
title: “Appetizers”,
intro: “My favorite appetizers are ones you can prep and have ready once friends and family arrive. Most of these take 30 minutes or less, and many can be made the night before.”
},
sides: {
title: “Side dishes”,
intro: “Instead of the classic beige-on-beige, these are the colorful, delicious Thanksgiving sides that make everyone ask for the recipe.”
},
salads: {
title: “Salads”,
intro: “Instead of brown and mushy, a Thanksgiving salad can be one of the most delicious things on your plate.”
},
mains: {
title: “Main Dishes”,
intro: “To me, Thanksgiving dinners can be more than just turkey. Serve one of these options alongside the bird or make it the centerpiece.”
},
desserts: {
title: “Desserts”,
intro: “This holiday is a great time for going all-in on fall flavors. Pumpkin and apple feature often in my Thanksgiving desserts lineup!”
},
drinks: {
title: “Thanksgiving Cocktails and Mocktails”,
intro: “At my house I love a good signature drink to set the tone, whether it’s with alcohol or 0 proof!”
}
},
instantPot: {
title: “Instant Pot Thanksgiving Ideas”,
intro: “While your oven and stovetop are busy, the pressure cooker can be making a big batch of mashed potatoes. Or green bean casserole. Or dessert.”
},
plan: {
title: “Sonja’s Make-Ahead Plan”,
intro: “Here’s how I spread the work over the week so that on Thanksgiving Day, it’s mostly reheating, tossing, and pouring. Tap a day to open it.”,
steps: [
{
when: “Week of”,
what: “Dressings, syrups, and the freezer”,
sub: “Up to 7 days ahead”,
items: [
“Make salad dressings: most vinaigrettes keep at least two weeks in a jar. Shake well before using.”,
“Spiced simple syrups for the
sangria or apple cider syrup for the margaritas keep a few days in the fridge.”,
“Bake cookies early and freeze them in airtight containers for up to a month.”,
“Pick your menu and write the shopping list.”
]
},
{
when: “2 days”,
what: “Dips, nuts, and quick breads”,
sub: “Things that get better overnight”,
items: [
“
Cranberry cream cheese dip, marinated olives, cheese balls, and spiced nuts can all be made up to two days ahead.”,
“Quick breads like sweet potato bread and cranberry orange bread: bake, wrap tightly, store at room temperature. Slice right before serving.”,
“Mashed potatoes and mashed squash can be made a day or two ahead and reheated on the stovetop with a splash of milk.”
]
},
{
when: “1 day”,
what: “Assemble, set, and chill”,
sub: “The big prep night”,
items: [
“Assemble casseroles (yes, the
Brussels sprout casserole) and the lentil loaf; cover and refrigerate, bake the day of.”,
“Stuffed mushrooms: prep completely, cover, refrigerate overnight (or outside, if it’s cold enough!).”,
“The
tiramisu and puddings need the time to set. Bake fruit pies today and pumpkin pies tonight or tomorrow morning.”,
“Wash and dry the salad greens, wrap in paper towels, refrigerate. Roast any vegetables for salads.”,
“Make soup if you’re serving a starter: it tastes better the next day.”
]
},
{
when: “Day of”,
what: “Roast, toss, pour”,
sub: “Morning and afternoon”,
items: [
“Morning: juice the citrus, prep garnishes (apple slices in lemon water, pomegranate seeds in little containers), rim the glasses.”,
“Pre-batch stirred cocktails in a pitcher; they just need ice and a garnish at go time.”,
“Cut and season the roasting vegetables early, then roast right before serving.”,
“Pull refrigerated pies out about 30 minutes before dessert.”,
“Salad: Place toppings in the bowl, dressing on the side until the last possible moment to avoid a soggy salad”
]
}
]
},
tips: {
title: “How To Put Together A Thanksgiving Menu”,
items: [
{
title: “Contrasts, not courses”,
body: “I try to have a mix of textures in my menu: something creamy like mashed potatoes, something crispy like roasted Brussels sprouts, something fresh like an apple salad.”
},
{
title: “Planning for oven space”,
body: “I pick at least one or two sides to make ahead and serve at room temperature, like salads or a grain dish like
farro with mushrooms, and let the Instant Pot do the potatoes.”
},
{
title: “Special diets”,
body: “It’s easy to make several dishes that happen to be vegetarian, vegan, or gluten-free versus planning a separate menu for special diets. Most of the sides and salads here naturally fit these diets!”
}
]
},
guides: {
title: “Thanksgiving Recipes, By Type”
},
author: {
title: “We’re Alex & Sonja Overhiser”,
bio: “Cookbook authors, busy parents, and a real life couple who cooks together. Since 2010 we’ve shared simple, seasonal recipes from our home kitchen, every one tested on our family and photographed by us.”
}
};

/* ====================================================================
THANKSGIVING ISSUE — everything below ships. Scoped to #tg.
==================================================================== */
/* this page brings its own cover, so hide the Recipe 2026 template’s post header on this post only
(title band, breadcrumbs, byline, cookbook strip, disclosure) */
body.acs-2026 .acs-hero,body.acs-2026 .acs-book,body.acs-2026 .acs-disclosure{display:none!important}
body.acs-2026 .acs-grid{padding-top:0!important}
/* if the theme’s roundup filter still wraps a card, undo its box and button */
#tg .acs-rcard{border:0!important;border-radius:0!important;padding:0!important;margin:0!important;box-shadow:none!important;background:none!important;overflow:visible!important}
#tg .acs-rbtn,#tg .mv-list-link{display:none!important}
#tg{–green:#1F5133;–green-dark:#153824;–slate:#55779A;–gold:#E4B94A;–gold-bg:#FCF3DC;–gold-ink:#7E5F14;–cream:#FCF7E6;–ink:#16181C;–muted:#646B76;–line:#E4E1D8;–wash:#F4F2EC;–display:”DM Serif Text”,Georgia,”Times New Roman”,serif;–ui:”Archivo”,”Helvetica Neue”,Arial,sans-serif;–pad:20px;
container-type:inline-size;container-name:tg;font-family:var(–ui);color:var(–ink);line-height:1.5;-webkit-font-smoothing:antialiased;margin:0;width:100%;max-width:none}
#tg *,#tg *::before,#tg *::after{box-sizing:border-box}
/* resets that must beat .entry-content */
#tg a{color:inherit;text-decoration:none!important}
#tg a:focus-visible,#tg button:focus-visible{outline:3px solid var(–slate);outline-offset:3px;border-radius:4px}
#tg img{display:block;max-width:100%;height:auto;border-radius:0}
#tg h1,#tg h2,#tg h3,#tg p,#tg ul,#tg ol,#tg li,#tg figure,#tg blockquote,#tg dl,#tg dd,#tg dt{margin:0;padding:0;font-size:inherit;line-height:inherit;letter-spacing:0}
#tg ul,#tg ol{list-style:none}
#tg li::marker{content:none}
#tg strong{color:inherit}
#tg section,#tg header,#tg nav{margin:0}
.tg-sr{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}

/* type + shared bits (same scale as the post template) */
#tg .acs-eyebrow{display:block;font:700 11px/1.3 var(–ui);letter-spacing:.13em;text-transform:uppercase;color:var(–muted)}
#tg .tg-h2{font:400 clamp(28px,5cqw,38px)/1.08 var(–display);letter-spacing:-.015em;color:var(–ink);text-wrap:balance}
#tg .tg-h3{font:400 22px/1.2 var(–display);letter-spacing:-.01em;color:var(–ink)}
#tg .tg-lede{font:400 16.5px/1.55 var(–ui);color:#3a3f47;max-width:62ch}
#tg a.acs-btn{display:inline-flex;align-items:center;gap:10px;background:var(–green);color:#fff!important;font:800 12px/1 var(–ui);letter-spacing:.13em;text-transform:uppercase;padding:16px 22px;border:0;border-radius:4px;cursor:pointer;transition:background .2s;text-decoration:none}
#tg a.acs-btn:hover{background:var(–green-dark);color:#fff!important}
#tg a.acs-btn::before{content:””;width:7px;height:7px;background:var(–gold);flex:none}
#tg a.acs-btn–ghost{background:transparent;color:var(–ink)!important;box-shadow:inset 0 0 0 2px var(–ink)}
#tg a.acs-btn–ghost:hover{background:var(–ink);color:#fff!important}
#tg a.acs-btn–ghost::before{display:none}
#tg a.acs-more{display:inline-block;font:700 12px/1 var(–ui);letter-spacing:.12em;text-transform:uppercase;white-space:nowrap;padding:10px 0;border-bottom:2px solid var(–line);transition:border-color .2s;color:var(–ink);text-decoration:none}
#tg a.acs-more:hover{border-color:var(–ink)}
#tg .tg-pad{padding:0}

/* —- hero: the “cover” (a wash card in the column) —- */
#tg .tg-hero{position:relative;background:var(–wash);border-radius:12px;overflow:hidden;padding:20px var(–pad) 26px}
#tg .tg-hero__grid{display:grid;gap:20px}
#tg .tg-hero__text{min-width:0}
#tg .tg-issue{display:inline-flex;align-items:center;gap:10px;font:700 11px/1 var(–ui);letter-spacing:.14em;text-transform:uppercase;color:var(–gold-ink);background:var(–gold-bg);border:1px solid var(–gold);border-radius:999px;padding:9px 14px;margin-bottom:16px}
#tg .tg-issue::before{content:””;width:7px;height:7px;background:var(–gold);border-radius:50%}
#tg h1.tg-title{font:400 clamp(36px,8.4cqw,60px)/.98 var(–display);letter-spacing:-.025em;max-width:14ch;margin:0 0 14px;color:var(–ink);text-wrap:balance}
#tg h1.tg-title em{font-style:italic;color:var(–green)}
#tg .tg-dek{font:400 17px/1.5 var(–ui);color:#3a3f47;max-width:52ch;margin:0 0 16px}
#tg .acs-byline{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;font:500 14px/1.4 var(–ui);color:#3a3f47}
#tg .acs-byline a{border-bottom:2px solid var(–gold);padding-bottom:1px}
#tg .acs-byline a:hover{border-color:var(–ink)}
#tg .acs-byline .acs-dot{color:#c9c4b6}
#tg .acs-byline time{color:var(–muted)}
#tg .acs-facts{display:flex;flex-wrap:wrap;margin:16px 0 0}
#tg .acs-fact{padding:2px 18px 2px 0;margin:0 18px 8px 0;border-right:2px solid var(–gold)}
#tg .acs-fact:last-child{border-right:0;margin-right:0;padding-right:0}
#tg .acs-fact dt{font:700 11px/1.3 var(–ui);letter-spacing:.12em;text-transform:uppercase;color:var(–muted);margin:0 0 3px}
#tg .acs-fact dd{font:400 22px/1 var(–display);color:var(–ink);letter-spacing:-.01em}
#tg .tg-hero__actions{display:flex;flex-wrap:wrap;gap:12px 14px;margin-top:20px}
#tg .tg-hero__photo{position:relative;order:-1;border-radius:10px;overflow:hidden;background:var(–line);aspect-ratio:4/3;box-shadow:0 20px 40px -24px rgba(22,24,28,.5)}
#tg .tg-hero__photo img{width:100%;height:100%;object-fit:cover}
#tg .tg-hero__photo figcaption{position:absolute;left:12px;bottom:12px;background:rgba(252,247,230,.94);color:var(–ink);font:500 12px/1.3 var(–ui);letter-spacing:.02em;padding:8px 12px;border-radius:4px}
#tg .tg-hero__photo::after{content:””;position:absolute;inset:10px;border:1px solid rgba(255,255,255,.55);border-radius:6px;pointer-events:none}
@container tg (min-width:600px){
#tg .tg-hero{padding:32px 32px 36px}
#tg .tg-hero__grid{grid-template-columns:minmax(0,1fr) 38%;align-items:center;gap:32px}
#tg .tg-hero__photo{order:0;aspect-ratio:4/5;transform:rotate(1.2deg)}
#tg .tg-hero__actions{margin-top:24px}
}
@container tg (min-width:900px){#tg .tg-hero{padding:48px 48px 52px}#tg .tg-hero__grid{gap:56px;grid-template-columns:minmax(0,1fr) clamp(300px,36%,440px)}}

/* —- sticky course navigation —- */
#tg .tg-nav{position:sticky;top:0;z-index:30;background:rgba(255,255,255,.94);backdrop-filter:saturate(1.4) blur(8px);-webkit-backdrop-filter:saturate(1.4) blur(8px);border-bottom:1px solid var(–line);margin:18px 0 0}
#tg .tg-nav__in{display:flex;align-items:center;gap:14px}
#tg .tg-nav__label{display:none;font:700 11px/1 var(–ui);letter-spacing:.13em;text-transform:uppercase;color:var(–muted);white-space:nowrap}
#tg .tg-nav ul{display:flex;gap:6px;overflow-x:auto;scrollbar-width:none;padding:10px 0;-webkit-overflow-scrolling:touch}
#tg .tg-nav ul::-webkit-scrollbar{display:none}
#tg .tg-nav li{flex:none}
#tg .tg-nav a{display:inline-block;font:700 11px/1 var(–ui);letter-spacing:.1em;text-transform:uppercase;color:var(–ink);border:1px solid var(–line);border-radius:999px;padding:9px 13px;background:#fff;transition:background .2s,border-color .2s,color .2s}
#tg .tg-nav a:hover{border-color:var(–green);color:var(–green)}
#tg .tg-nav a.is-active{background:var(–green);border-color:var(–green);color:#fff!important}
@container tg (min-width:600px){#tg .tg-nav__label{display:block}}

/* —- editor’s note from Sonja —- */
#tg .tg-note{padding:32px 0 0}
#tg .tg-note__card{display:grid;gap:20px;background:var(–cream);border:1px solid #F1E6C3;border-radius:10px;padding:26px 22px;position:relative}
#tg .tg-note__card::before{content:””;position:absolute;left:-1px;top:20px;bottom:20px;width:4px;background:var(–gold);border-radius:0 3px 3px 0}
#tg .tg-note__who{display:flex;align-items:center;gap:14px;text-align:left}
#tg .tg-note__photo{flex:none;width:72px;height:72px;border-radius:50%;overflow:hidden;background:#fff;border:3px solid var(–gold);padding:3px}
#tg .tg-note__photo img{width:100%;height:100%;object-fit:cover;border-radius:50%}
#tg .tg-note__who strong{display:block;font:400 19px/1.2 var(–display);color:var(–ink)}
#tg .tg-note__who span{display:block;font:400 13px/1.4 var(–ui);color:var(–muted);margin-top:2px}
#tg .tg-note__body .tg-h2{margin-bottom:12px}
#tg .tg-note__body p{font:400 16.5px/1.6 var(–ui);color:#23262b;margin:0 0 1.05em}
#tg .tg-note__body p:last-of-type{margin-bottom:0}
#tg .tg-note__body p:first-of-type::first-letter{font:400 3.1em/0.8 var(–display);float:left;margin:.08em .12em 0 0;color:var(–green)}
#tg .tg-sig{display:inline-block;margin-top:16px;font:italic 400 24px/1 var(–display);color:var(–green)}
@container tg (min-width:600px){
#tg .tg-note{padding-top:40px}
#tg .tg-note__card{padding:34px 36px 34px 34px}
#tg .tg-note__body p{font-size:17.5px}
}
@container tg (min-width:900px){
#tg .tg-note__card{grid-template-columns:200px 1fr;gap:40px;align-items:start;padding:40px 44px 40px 40px}
#tg .tg-note__who{display:block;text-align:center}
#tg .tg-note__photo{width:132px;height:132px;margin:0 auto 14px;padding:4px}
}

/* —- the one recipe (featured) —- */
#tg .tg-feat{margin:28px 0 0;background:var(–green);color:var(–cream);border-radius:12px;overflow:hidden;padding:24px var(–pad) 28px}
#tg .tg-feat__grid{display:grid;gap:22px}
#tg .tg-feat__media{position:relative;border-radius:10px;overflow:hidden;aspect-ratio:4/5;background:var(–green-dark)}
#tg .tg-feat__media img{width:100%;height:100%;object-fit:cover}
#tg .tg-feat__stamp{position:absolute;top:14px;left:14px;width:88px;height:88px;border-radius:50%;background:var(–gold);color:var(–ink);display:grid;place-items:center;text-align:center;font:800 10px/1.2 var(–ui);letter-spacing:.12em;text-transform:uppercase;padding:10px;transform:rotate(-8deg);box-shadow:0 10px 20px -10px rgba(0,0,0,.5)}
#tg .tg-feat .acs-eyebrow{color:var(–gold)}
#tg .tg-feat h2{font:400 clamp(30px,5.6cqw,46px)/1.02 var(–display);letter-spacing:-.02em;color:#fff;margin:10px 0 16px;text-wrap:balance}
#tg .tg-feat blockquote{margin:0 0 18px;padding:0 0 0 16px;border-left:3px solid var(–gold);font:italic 400 20px/1.35 var(–display);color:#fff}
#tg .tg-feat blockquote cite{display:block;margin-top:8px;font:700 11px/1 var(–ui);letter-spacing:.13em;text-transform:uppercase;font-style:normal;color:var(–gold)}
#tg .tg-feat__why{display:grid;gap:10px;margin:0 0 22px}
#tg .tg-feat__why li{display:flex;gap:12px;align-items:flex-start;font:400 15.5px/1.5 var(–ui);color:rgba(252,247,230,.92)}
#tg .tg-feat__why li::before{content:””;flex:none;width:8px;height:8px;background:var(–gold);margin-top:8px}
#tg .tg-feat__why strong{color:#fff;font-weight:700}
#tg .tg-feat a.acs-btn{background:var(–gold);color:var(–ink)!important}
#tg .tg-feat a.acs-btn:hover{background:#f0c75c;color:var(–ink)!important}
#tg .tg-feat a.acs-btn::before{background:var(–ink)}
@container tg (min-width:600px){
#tg .tg-feat{padding:32px}
#tg .tg-feat__grid{grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:32px;align-items:center}
}
@container tg (min-width:900px){#tg .tg-feat{padding:56px}#tg .tg-feat__grid{gap:64px}}

/* —- course sections —- */
#tg .tg-section{padding:40px 0 0}
#tg .tg-sechead{display:grid;grid-template-columns:1fr;gap:10px;align-items:start;margin-bottom:16px}
#tg .tg-sechead__num{grid-row:1/3;font:400 50px/.9 var(–display);color:var(–gold);letter-spacing:-.03em}
#tg .tg-sechead__text .acs-eyebrow{margin-bottom:6px}
#tg .tg-sechead__text .tg-h2{margin-bottom:8px}
#tg .tg-sechead__ctl{display:flex;gap:8px;align-self:center}
#tg .tg-arrow{display:none;width:42px;height:42px;border-radius:50%;border:2px solid var(–ink);background:#fff;color:var(–ink);font:700 18px/1 var(–ui);cursor:pointer;padding:0;transition:background .2s,color .2s}
#tg .tg-arrow:hover{background:var(–ink);color:#fff}
@container tg (min-width:600px){
#tg .tg-section{padding-top:52px}
#tg .tg-sechead{grid-template-columns:1fr auto;gap:8px 22px;margin-bottom:20px}
#tg .tg-sechead__ctl{justify-self:end;align-self:end}
#tg .tg-arrow{display:grid;place-items:center}
}

/* rails: horizontal, snapping; bleed to the phone edge, sit flush in the column */
#tg .tg-railwrap{position:relative}
#tg .tg-railwrap::after{content:””;position:absolute;top:0;right:0;bottom:14px;width:56px;background:linear-gradient(90deg,rgba(255,255,255,0),#fff 85%);pointer-events:none;display:none}
@container tg (min-width:600px){#tg .tg-railwrap::after{display:block}}
#tg .tg-rail{–gutter:0px;–cardw:min(70cqw,270px);display:grid;grid-auto-flow:column;grid-auto-columns:var(–cardw);gap:14px;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-padding-inline:var(–gutter);scrollbar-width:none;padding:6px var(–gutter) 14px;-webkit-overflow-scrolling:touch}
#tg .tg-rail::-webkit-scrollbar{display:none}
@container tg (min-width:600px){#tg .tg-rail{gap:18px}}
#tg .tg-card{scroll-snap-align:start;background:#fff;border:1px solid var(–line);border-radius:10px;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 1px 3px rgba(22,24,28,.05);transition:box-shadow .25s,transform .25s}
#tg .tg-card:hover{box-shadow:0 18px 34px -20px rgba(22,24,28,.4);transform:translateY(-2px)}
#tg .tg-card__media{display:block;aspect-ratio:4/5;background:var(–line);overflow:hidden}
#tg .tg-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .6s ease}
#tg .tg-card:hover .tg-card__media img{transform:scale(1.04)}
#tg .tg-card__body{padding:14px 16px 16px;display:flex;flex-direction:column;gap:6px;flex:1}
#tg .tg-card__tags{display:flex;flex-wrap:wrap;gap:6px;min-height:18px}
#tg .tg-tag{font:700 9.5px/1 var(–ui);letter-spacing:.1em;text-transform:uppercase;color:var(–green);background:#fff;border:1px solid var(–line);border-radius:999px;padding:5px 8px}
#tg .tg-tag–make-ahead{color:var(–gold-ink);background:var(–gold-bg);border-color:#F1E6C3}
#tg .tg-card__title{font:400 20px/1.2 var(–display);letter-spacing:-.01em;text-wrap:balance;color:var(–ink)}
#tg .tg-card__title a:hover{color:var(–green);text-decoration:underline;text-underline-offset:4px;text-decoration-thickness:1px}
#tg .tg-card__row{margin-top:auto;padding-top:4px}
#tg .tg-seeall{display:flex;flex-wrap:wrap;gap:10px;margin-top:8px}

/* segmented control (cocktails / mocktails) */
#tg .tg-seg{display:inline-flex;background:var(–wash);border-radius:999px;padding:4px}
#tg .tg-seg__btn{font:700 11px/1 var(–ui);letter-spacing:.1em;text-transform:uppercase;color:var(–ink);background:transparent;border:0;border-radius:999px;padding:10px 16px;cursor:pointer;transition:background .2s,color .2s}
#tg .tg-seg__btn.is-on{background:var(–green);color:#fff}

/* —- oven-space savers (Instant Pot) —- */
#tg .tg-ip{margin:40px 0 0;padding:26px var(–pad) 28px;background:var(–wash);border-radius:12px}
#tg .tg-ip__head{display:grid;gap:12px;margin-bottom:18px}
#tg .tg-ip__head .acs-eyebrow{margin-bottom:6px}
#tg .tg-ip__head .tg-h2{margin-bottom:8px}
#tg .tg-minis{display:grid;grid-template-columns:repeat(2,1fr);gap:12px}
#tg .tg-mini{background:#fff;border:1px solid var(–line);border-radius:10px;overflow:hidden;transition:box-shadow .25s}
#tg .tg-mini:hover{box-shadow:0 14px 28px -18px rgba(22,24,28,.4)}
#tg .tg-mini__link{display:block}
#tg .tg-mini img{aspect-ratio:1;object-fit:cover;width:100%}
#tg .tg-mini__title{display:block;padding:10px 12px 12px;font:400 16px/1.25 var(–display);color:var(–ink);text-wrap:balance}
@container tg (min-width:600px){#tg .tg-ip{padding:32px;margin-top:52px}#tg .tg-ip__head{grid-template-columns:1fr auto;align-items:end}#tg .tg-minis{grid-template-columns:repeat(5,1fr);gap:12px}#tg .tg-mini__title{font-size:14.5px;padding:9px 10px 11px}}
@container tg (min-width:900px){#tg .tg-minis{gap:18px}#tg .tg-mini__title{font-size:16px;padding:10px 12px 12px}}

/* —- make-ahead countdown —- */
#tg .tg-plan{padding:48px 0 0}
#tg .tg-plan__head{max-width:700px;margin-bottom:22px}
#tg .tg-plan__head .acs-eyebrow{margin-bottom:8px}
#tg .tg-plan__head .tg-h2{margin-bottom:10px}
#tg .tg-steps{border-top:1px solid var(–line)}
#tg .tg-step{border-bottom:1px solid var(–line)}
#tg .tg-step summary{list-style:none;cursor:pointer;display:grid;grid-template-columns:auto 1fr auto;gap:14px;align-items:center;padding:16px 0}
#tg .tg-step summary::-webkit-details-marker{display:none}
#tg .tg-step__when{font:400 21px/1 var(–display);color:var(–green);min-width:3.2em;letter-spacing:-.01em}
#tg .tg-step__what{font:700 15px/1.3 var(–ui);color:var(–ink)}
#tg .tg-step__what small{display:block;font:400 13.5px/1.4 var(–ui);color:var(–muted);margin-top:3px}
#tg .tg-step__ico{width:30px;height:30px;border-radius:50%;border:2px solid var(–ink);display:grid;place-items:center;font:700 16px/1 var(–ui);transition:transform .25s,background .2s,color .2s}
#tg .tg-step[open] .tg-step__ico{transform:rotate(45deg);background:var(–ink);color:#fff}
#tg .tg-step__body{padding:0 0 20px;max-width:70ch}
#tg .tg-step__body p,#tg .tg-step__body li{font:400 16px/1.6 var(–ui);color:#23262b}
#tg .tg-step__body p{margin:0 0 .9em}
#tg .tg-step__body ul{list-style:disc;padding-left:1.2em}
#tg .tg-step__body li{margin-bottom:.4em}
#tg .tg-step__body li::marker{content:normal;color:var(–green)}
#tg .tg-step__body a{color:var(–green);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
@container tg (min-width:600px){#tg .tg-plan{padding-top:60px}#tg .tg-step__when{font-size:25px;min-width:4em}#tg .tg-step__body{padding-left:calc(4em + 14px)}}

/* —- hosting notes —- */
#tg .tg-tips{padding:44px 0 0}
#tg .tg-tips .tg-h2{margin:8px 0 18px}
#tg .tg-tips__grid{display:grid;gap:14px}
#tg .tg-tip{background:var(–wash);border-radius:10px;padding:22px 22px}
#tg .tg-tip .acs-eyebrow{color:var(–gold-ink);margin-bottom:8px}
#tg .tg-tip .tg-h3{margin-bottom:8px}
#tg .tg-tip p{font:400 15px/1.55 var(–ui);color:#23262b}
#tg .tg-tip a{color:var(–green);text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
@container tg (min-width:900px){#tg .tg-tips{padding-top:60px}#tg .tg-tips__grid{grid-template-columns:repeat(3,1fr);gap:22px}}

/* —- all the guides + author —- */
#tg .tg-guides{padding:48px 0 0}
#tg .tg-guides .tg-h2{margin:8px 0 20px}
#tg .acs-cards{display:grid;grid-template-columns:repeat(2,1fr);gap:20px 14px}
#tg .acs-card__link{display:block}
#tg .acs-card__media{display:block;aspect-ratio:4/5;background:var(–line);overflow:hidden;border-radius:6px;margin-bottom:10px}
#tg .acs-card__media img{width:100%;height:100%;object-fit:cover;transition:transform .5s ease}
#tg .acs-card__link:hover .acs-card__media img{transform:scale(1.04)}
#tg .acs-card__eyebrow{display:block;margin-bottom:5px}
#tg .acs-card__title{display:block;font:400 16.5px/1.3 var(–display);color:var(–ink)}
#tg .acs-card__link:hover .acs-card__title{text-decoration:underline;text-underline-offset:3px;text-decoration-thickness:1px}
@container tg (min-width:600px){#tg .tg-guides{padding-top:60px}#tg .acs-cards{grid-template-columns:repeat(3,1fr);gap:26px 20px}}
#tg .tg-author{display:grid;gap:16px;margin:40px 0 0;background:var(–wash);border-radius:10px;padding:24px 22px}
#tg .tg-author__img{width:88px;height:88px;border-radius:50%;overflow:hidden;background:var(–line);border:3px solid var(–gold);padding:3px}
#tg .tg-author__img img{width:100%;height:100%;object-fit:cover;border-radius:50%}
#tg .tg-author .tg-h3{margin:4px 0 8px}
#tg .tg-author p{font:400 15.5px/1.55 var(–ui);color:#3a3f47;max-width:60ch}
#tg .tg-author__links{display:flex;flex-wrap:wrap;gap:10px 22px;margin-top:14px}
@container tg (min-width:600px){#tg .tg-author{grid-template-columns:auto 1fr;gap:24px;align-items:start;padding:30px}}

/* phones: let the hero, bands and rails run to the screen edge (undo the column’s 20px gutter) */
@media(max-width:759px){
#tg .tg-hero,#tg .tg-feat,#tg .tg-ip{border-radius:0;margin-left:calc(-1 * var(–pad));margin-right:calc(-1 * var(–pad))}
#tg .tg-rail{–gutter:var(–pad);margin-left:calc(-1 * var(–pad));margin-right:calc(-1 * var(–pad))}
#tg .tg-nav{margin-left:calc(-1 * var(–pad));margin-right:calc(-1 * var(–pad));padding:0 var(–pad)}
}
@media(max-width:599px){
#tg .tg-card__tags{display:none}
#tg .tg-card__body{padding:12px 14px 14px;gap:6px}
#tg .tg-card__title{font-size:18px}
#tg .tg-rail{–cardw:58cqw}
#tg .tg-feat__why{display:none}
#tg .tg-note__body p:first-of-type::first-letter{font:inherit;float:none;margin:0;color:inherit}
}
@media(prefers-reduced-motion:reduce){#tg *{transition:none!important;animation:none!important}}
@media print{#tg .tg-nav,#tg .tg-arrow{display:none!important}}

Sonja Overhiser
Cookbook author, host of ~a decade of Thanksgivings

Author’s Note

Every year around the first week of November, I go into full chef mode. I’m talking menu plans sketched out in a spreadsheet weeks in advance, no kidding. Alex thinks it’s hilarious. But here’s what almost a decade of hosting this holiday has taught me: the classic Thanksgiving table is a lot of beige-on-beige mush, and it really doesn’t have to be.

The two of us have eaten mostly plant-based for years, so our Thanksgiving has never been about the turkey. It’s about everything around it: the apple salad people ask me for every single year, the Brussels sprouts that taste like mac and cheese, a pumpkin tiramisu that doesn’t need the oven. Funny thing is, those are the dishes that get the most requests, from the turkey eaters too.

So this is the plan I’d hand to a friend. Pick one or two from each course, lean on the make-ahead list, and build a menu that’s yours. Happy Thanksgiving from our kitchen to yours!

— Sonja

Crisp Apple Salad with Maple Vinaigrette

If I could eat one salad for the rest of time, this one is it.Sonja

  • Crisp tart apple slices with pops of pomegranate seeds, creamy goat cheese, and crunchy cinnamon-spiced pecans over fresh greens.
  • A zingy maple and apple cider vinegar dressing that cuts right through the mashed potatoes and gravy.
  • Make-ahead friendly: dressing up to a week early, pecans a few days, then toss it together right before dinner.

Get the recipe

Appetizers

The best appetizers are the ones I can prep and have ready once friends and family arrive. Most of these take 30 minutes or less, and many can be made the night before.


Side dishes

The classic Thanksgiving conundrum is a table of beige-on-beige mush. These are the sides that make everyone ask for the recipe: something creamy, something crispy, something fresh.


Salads

Instead of brown and mushy, the salad can be one of the most delicious things on your plate. Roasted squash, crunchy apples, pomegranate jewels, tangy dressings: everyone reaches for seconds.


Mains beyond the bird

In our decade of eating vegetarian at Thanksgiving, it’s often the vegetarian or vegan dishes that turn out to be the best loved around the table. Serve one next to the turkey, or make it the centerpiece.


Desserts

This holiday is the best time for going all-in on fall flavors. Many of these taste better made ahead: cheesecakes, tiramisu, and puddings need time to set, which is ideal when the oven is spoken for.


While the oven’s busy, the Instant Pot isn’t

While your oven and stovetop are occupied, the pressure cooker can be making a monstrous batch of mashed potatoes. Or green bean casserole. Or dessert.

All 10 Instant Pot recipes

Drinks, with or without

At my house I’m all about the signature drink. And after watching the non-drinkers sip water while everyone else clinked glasses, I’m making sure the mocktail is just as celebratory this year.


Sonja’s make-ahead plan

Thanksgiving is chaotic enough. Here’s how I spread the work over the week so that on the day, it’s mostly reheating, tossing, and pouring. Tap a day to open it.

Week ofDressings, syrups, and the freezerUp to 7 days ahead
  • Make salad dressings: most vinaigrettes keep at least two weeks in a jar. Shake well before using.
  • Spiced simple syrups for the sangria or apple cider syrup for the margaritas keep a few days in the fridge.
  • Bake cookies early and freeze them in airtight containers for up to a month.
  • Pick your menu, then write the shopping list.
2 daysDips, nuts, and quick breadsThings that get better overnight
  • Cranberry cream cheese dip, marinated olives, cheese balls, and spiced nuts can all be made up to two days ahead.
  • Quick breads like sweet potato bread and cranberry orange bread: bake, wrap tightly, store at room temperature. Slice right before serving.
  • Mashed potatoes and mashed squash can be made a day or two ahead and reheated on the stovetop with a splash of milk or cream.
1 dayAssemble, set, and chillThe big prep night
  • Assemble casseroles (yes, the Brussels sprout casserole) and the lentil loaf; cover and refrigerate, bake the day of.
  • Stuffed mushrooms: prep completely, cover, refrigerate overnight (or outside, if it’s cold enough!).
  • Cheesecakes, tiramisu, and puddings need the time to set. Fruit pies bake today; custard pies like pumpkin, tonight or tomorrow morning.
  • Wash and dry the salad greens, wrap in paper towels, refrigerate. Roast any vegetables for salads.
  • Make soup if you’re serving a starter: it tastes better the next day anyway.
Day ofRoast, toss, pourMorning and afternoon
  • Morning: juice the citrus, prep garnishes (apple slices in lemon water, pomegranate arils in little containers), rim the glasses.
  • Pre-batch stirred cocktails in a pitcher; they just need ice and a garnish at go time.
  • Cut and season the roasting vegetables early, then roast them while the turkey (or lentil loaf) rests.
  • Pull refrigerated pies out about 30 minutes before dessert.
  • Salad: toppings in the bowl, dressing on the side until the last possible moment. Nobody wants soggy salad.

How I think about the menu

Contrasts, not courses

I aim for a mix of textures: something creamy like mashed potatoes, something crispy like roasted Brussels sprouts, something fresh like an apple salad. And colors! A table that’s a burst of color just tastes better.

Respect the oven

Oven space is always the bottleneck. I pick at least one or two sides to make ahead and serve at room temperature, like salads or a grain dish like farro with mushrooms, and let the Instant Pot carry the potatoes.

Special diets, without special versions

It’s easier to make several dishes that happen to be vegetarian, vegan, or gluten-free than to re-engineer the classics. Most of the sides and salads here naturally fit, so everyone eats the same food, together.

All of our Thanksgiving guides

We’re Alex & Sonja Overhiser

Cookbook authors, busy parents, and a real life couple who cooks together. Since 2010 we’ve shared simple, seasonal recipes from our home kitchen, every one tested on our family and photographed by us.

(function(){
‘use strict’;
var root=document.getElementById(‘tg’); if(!root) return;
function ga(name,params){ try{ if(window.gtag) gtag(‘event’,name,params||{}); }catch(e){} }

/* —- apply the editable COPY block —- */
try{
if(window.ACC_COPY){
root.querySelectorAll(‘[data-copy]’).forEach(function(el){
var v=el.getAttribute(‘data-copy’).split(‘.’).reduce(function(o,k){ return (o==null)?o:o[k]; },window.ACC_COPY);
if(v==null) return;
var wrap=el.getAttribute(‘data-copy-wrap’);
if(Array.isArray(v)){ if(!wrap) return; el.innerHTML=v.map(function(x){ return ”+x+’‘; }).join(”); }
else if(typeof v===’string’){ el.innerHTML=v; }
});
}
}catch(e){}

/* —- rails: arrow buttons —- */
root.addEventListener(‘click’,function(ev){
var a=ev.target.closest(‘.tg-arrow’); if(!a) return;
var rail=document.getElementById(a.dataset.rail); if(!rail) return;
var card=rail.querySelector(‘.tg-card’); var step=card? (card.offsetWidth+18)*2 : 540;
rail.scrollBy({left:step*parseInt(a.dataset.dir,10),behavior:’smooth’});
});

/* —- drinks toggle —- */
var segs=root.querySelectorAll(‘.tg-seg__btn’);
segs.forEach(function(b){
b.addEventListener(‘click’,function(){
segs.forEach(function(x){ x.classList.toggle(‘is-on’,x===b); x.setAttribute(‘aria-selected’,x===b?’true’:’false’); });
document.getElementById(‘panel-cocktails’).hidden=(b.id!==’tab-cocktails’);
document.getElementById(‘panel-mocktails’).hidden=(b.id!==’tab-mocktails’);
ga(‘tg_drinks_toggle’,{tab:b.id.replace(‘tab-‘,”)});
});
});

/* —- sticky nav: scroll-spy + offset anchor scrolling —- */
var nav=root.querySelector(‘.tg-nav’), links=[].slice.call(root.querySelectorAll(‘#tg-navlist a’));
var targets=links.map(function(l){ return document.querySelector(l.getAttribute(‘href’)); }).filter(Boolean);
function setActive(id){
links.forEach(function(l){
var on=l.getAttribute(‘href’)===’#’+id; l.classList.toggle(‘is-active’,on);
if(on){ var ul=l.parentNode.parentNode, r=l.getBoundingClientRect(), u=ul.getBoundingClientRect(); if(r.leftu.right) ul.scrollTo({left:l.offsetLeft-20,behavior:’smooth’}); }
});
}
if(‘IntersectionObserver’ in window){
var io=new IntersectionObserver(function(entries){
entries.forEach(function(en){ if(en.isIntersecting) setActive(en.target.id); });
},{rootMargin:’-40% 0px -55% 0px’,threshold:0});
targets.forEach(function(t){ io.observe(t); });
}
function go(l){
var t=document.querySelector(l.getAttribute(‘href’)); if(!t) return false;
var y=t.getBoundingClientRect().top+window.pageYOffset-(nav.offsetHeight+8);
window.scrollTo({top:y,behavior:’smooth’}); return true;
}
links.forEach(function(l){ l.addEventListener(‘click’,function(ev){ if(go(l)){ ev.preventDefault(); history.replaceState(null,”,l.getAttribute(‘href’)); ga(‘tg_nav_click’,{section:l.getAttribute(‘href’).slice(1)}); } }); });
root.querySelectorAll(‘.tg-hero__actions a[href^=”#”]’).forEach(function(l){ l.addEventListener(‘click’,function(ev){ if(go(l)) ev.preventDefault(); }); });

})();

{
“@context”:”https://schema.org”,
“@graph”:[
{“@type”:”Article”,
“@id”:”https://www.acouplecooks.com/thanksgiving-recipes/#article”,
“headline”:”Thanksgiving Recipes: Everything for the Table”,
“description”:”Our Thanksgiving recipes, all in one place: appetizers, colorful side dishes, salads, vegetarian mains, desserts and drinks, plus Sonja’s make-ahead plan.”,
“image”:[“https://www.acouplecooks.com/wp-content/uploads/2022/11/Apple-Salad-014.jpg”],
“datePublished”:”2026-11-03T08:00:00-05:00″,
“dateModified”:”2026-11-03T08:00:00-05:00″,
“author”:{“@type”:”Person”,”name”:”Sonja Overhiser”,”url”:”https://www.acouplecooks.com/about/”},
“publisher”:{“@type”:”Organization”,”name”:”A Couple Cooks”,”url”:”https://www.acouplecooks.com/”},
“mainEntityOfPage”:”https://www.acouplecooks.com/thanksgiving-recipes/”},
{“@type”:”ItemList”,
“@id”:”https://www.acouplecooks.com/thanksgiving-recipes/#guides”,
“name”:”A Couple Cooks Thanksgiving recipe guides”,
“itemListOrder”:”https://schema.org/ItemListOrderAscending”,
“itemListElement”:[{“@type”:”ListItem”,”position”:1,”name”:”45 Easy Thanksgiving Side Dishes”,”url”:”https://www.acouplecooks.com/thanksgiving-side-dishes/”},{“@type”:”ListItem”,”position”:2,”name”:”30 Easy Thanksgiving Appetizers”,”url”:”https://www.acouplecooks.com/thanksgiving-appetizers/”},{“@type”:”ListItem”,”position”:3,”name”:”20 Top Thanksgiving Salad Ideas”,”url”:”https://www.acouplecooks.com/thanksgiving-salad/”},{“@type”:”ListItem”,”position”:4,”name”:”30 Vegetarian Thanksgiving Recipes”,”url”:”https://www.acouplecooks.com/vegetarian-thanksgiving-recipes/”},{“@type”:”ListItem”,”position”:5,”name”:”40 Vegan Thanksgiving Recipes”,”url”:”https://www.acouplecooks.com/vegan-thanksgiving-recipes/”},{“@type”:”ListItem”,”position”:6,”name”:”30 Thanksgiving Desserts”,”url”:”https://www.acouplecooks.com/thanksgiving-desserts/”},{“@type”:”ListItem”,”position”:7,”name”:”40 Thanksgiving Cocktails & Drinks”,”url”:”https://www.acouplecooks.com/thanksgiving-cocktails-drinks/”},{“@type”:”ListItem”,”position”:8,”name”:”5 Thanksgiving Mocktails”,”url”:”https://www.acouplecooks.com/thanksgiving-mocktails-non-alcoholic-drinks/”},{“@type”:”ListItem”,”position”:9,”name”:”10 Instant Pot Thanksgiving Recipes”,”url”:”https://www.acouplecooks.com/instant-pot-thanksgiving-recipes/”}]}
]
}