food ⇔ drink : the bipartite graph of perfect pairings
“There are not more than five cardinal tastes (sour, acrid, salt, sweet, bitter), yet combinations of them yield more flavours than can ever be tasted”
The architecture of connection
I’ve always found pairings fascinating.
It started with restaurants with cocktail menus that rely on your own intuition, wine lists with their “rules” designed to make you feel informed, omakase counters where sake somehow goes with anything that appears. I’ve done quite a few tasting-menu pairings over the years, and I love seeing how different chefs and sommeliers create them.
I’ve also been to a number of wine and spirit tastings, which are always interesting for me because I’m a dish eater, not a snacker. When tastings lean on fruits, nuts, or chocolate, I end up translating those notes into the flavors and cuisines I actually understand.
This post is really a reflection of all those experiences across different contexts.
This year I started experimenting at home, building small food-and-drink menus just to see what happens.
Somewhere in that process, I realized I’d been building a mental graph.
Set A: foods
Set B: drinks
The “edges” between them are whatever actually works: harmony, contrast, surprise.
I used to think pairing was mostly about memorizing rules. Now it feels more like learning which nodes in your taste map want to connect, and why.
This post is the start of that map: something you can save, revisit, comment on, and slowly personalize to your own palate.
Step 1: Stop thinking “red with meat, white with fish”
Let’s leave the textbook rules for a second and think in some dimensions I’ve learned so far:
For food, ask:
How fatty is this? (butter, cream, marbling, oil)
How salty is it?
How much acid? (tomato, citrus, vinegar, yogurt)
How much sweetness?
How strong is the umami? (soy, meat, mushroom)
What’s the texture? (crunchy, silky, chewy, creamy)
How intense is the flavor overall?
For drinks, scan for:
Acidity (crisp vs round)
Sweetness (dry → dessert-level sweet)
Tannins (that drying, grippy red-wine feeling)
Alcohol (refreshing vs sharp)
Body (light vs full)
Bubbles (still vs sparkling)
Aroma profile (citrus, herbal, smoky, spicy)
Each food and drink is a node made of these features.
Pairing is just: which node on the drink side balances, mirrors, or cleans up this node on the food side?
That’s your bipartite graph.
Sample visualization. You can see how cheese connects with a lot for example.
Step 2: Learn the core edges (the “always useful” connections)
There are a few edges that almost always work. Think of these as your default connetions.
1. Spice ⇔ Sweet
Alcohol and tannins intensify heat. They’ll make the spice feel aggressive and metallic. Sweetness and lower alcohol cool it down.
Examples:
Nigerian pepper sauce → Chapman (the Sprite component cools)
Indian vindaloo → Mango lassi
Mexican aguachile → Margarita
Jamaican jerk chicken → Rum punch (fruit juices cool the heat)
If the food is spicy, a bit of sweetness in the drink is not childish... That's why Thai restaurants serve sweet cocktails.
2. Fat ⇔ Acid
High-fat food wants acid. Sometimes it also wants bubbles (the "physical tongue scrub").
Examples:
Mexican carnitas → Paloma (citrus and salt cutting pork fat)
Japanese karaage → Highball (whisky + soda = acid + bubbles)
Nigerian banga soup → Cold Guinness or malt
French duck confit → Sauvignon Blanc or Champagne
Fat coats your tongue. Acid cuts through and resets. If something feels heavy, look for more acid in the glass.
3. Salt ⇔ Everything
Salt is the ultimate high-degree vertex. It softens bitterness and tannins, boosts sweetness, makes drinks feel smoother.
Examples:
Korean anju (bar snacks) → Soju bomb or lemon soju cocktail
Spanish jamón → Gin & tonic or fino sherry
Greek feta → Assyrtiko or Ouzo on ice
Potato chips → Champagne
When in doubt with salty food, bubbles are your friend.
4. Intensity ⇔ Intensity
If the drink is louder than the food, all you taste is alcohol.
If the food is louder than the drink, the pairing feels like… water.
Delicate dishes (crudo, steamed fish, simple salads) → subtle drinks (light whites, light sake, low-ABV cocktails)
Japanese sashimi → Saketini (light sake + vodka + cucumber)
Peruvian ceviche → Pisco sour (clean, bright, citrus-forward)
Italian crudo → Aperol spritz or Americano (low ABV)
Big, deep flavors (braises, grilled steaks, heavy stews, smoky barbecue) → bold drinks (tannic reds, darker beers, smoky or spirit-forward cocktails)
Ethiopian doro wat → Tej cocktail or coffee-spiked beer
Argentinian asado → Fernet and Coke
American BBQ brisket → Bourbon old fashioned or beer cocktail
5. Mirror or Bridge a Flavor
Sometimes a pairing works because you echo a flavor:
Herbal dishes → herb-driven wines (Sauvignon Blanc) or cocktails with fresh herbs
Smoky grilled food → smoky spirits (mezcal, whisky)
Citrus-heavy dishes → citrus-led cocktails or high-acid whites
Creamy dishes → creamy, textural wines (Chardonnay)
Examples:
Greek souvlaki → Ouzo + oregano (mirrors herbs)
Nigerian pepper soup → Lemongrass gin + cucumber (mirrors aroma, bridges freshness)
Tiramisu → Espresso martini (mirrors coffee flavor)
And sometimes because you build a bridge to it:
Tomato dishes → reds with tomato-like acidity (Sangiovese, Nebbiolo)
Chocolate → cocoa, coffee, or dried-fruit–leaning drinks
Spice blends → fragrant spirits (gin, cardamom, star anise, clove)
Fermented dishes → drinks with funk, tartness, or depth
Examples:
Indian biryani → Cardamom gin fizz (bridges spice)
Mexican mole → Rum horchata (cinnamon + vanilla bridge to mole’s warm spice)
West African jollof → Zobo gin sour (hibiscus acidity bridges smoky rice)
Step 3: Know the “no edges” (where the graph breaks)
These are nodes that fight each other.
1. Very tannic reds × Chili heat
High tannin + spicy food = more bitterness, more burn, metallic aftertaste.
Not always, but often enough to be careful.
2. Acid + Dairy… sometimes
Think milk + orange juice. It would curdle.
Most wine + cheese situations prove that acid and dairy can play well, but super-high-acid drinks with delicate dairy bases can feel sour and thin & citrus-forward cocktails with cream need very careful balancing.
3. Bitter + Bitter
Bitter greens + very bitter drinks can pile up.
Either add fat (cheese, nuts, dressing) to round the food bitterness, or choose a drink with some bitterness but cushioned by aroma, sweetness, or bubbles.
Step 4: See your pairing as a tiny system
1. Start from the food node
First, I break the dish down into its basic coordinates:
How fatty is this?
How salty?
Any sweetness?
Any chili heat?
How aromatic?
Overall intensity: light, medium, heavy?
Write a quick profile in your head, something simple like:
“Pepper soup: low fat, medium salt, high chili, very aromatic, light body.”
This already tells you what the drink should not be (heavy, high-tannin, overly bitter) and what direction might make sense.
2. Decide what the drink’s job is
Do I want the drink to cut through something (fat, richness)?
Do I want it to cool spice or heat?
Do I want it to match the mood (smoky, cozy, bright)?
Do I want it to lift the aromatics already there?
For pepper soup, the job is usually:
Cooling the chili heat
Echoing or complementing the aromatics
Refreshing the palate between sips
That points me toward something cold, bright, gently sweet, and aromatic.
3. Pick a drink node that can form at least 2–3 strong edges
Now I choose a drink that can connect on multiple dimensions.
With pepper soup, I came up with a cocktail called Tears of Chios: a mix of mastic, gin, Muscat grapes, mint, cucumber, citrus, and lemongrass.
The edges it forms are clear:
Cooling edge → mint, cucumber, and grape sweetness soften the heat.
Aromatic edge → lemongrass in the drink meets the lemongrass + spices in the soup.
Contrast edge → hot, light broth paired with a cold, crisp cocktail resets the palate.
If a drink hits at least two of those edges, the pairing usually holds.
You can replace pepper soup with any dish & the structure is the same.
Break the food into coordinates.
Decide the drink’s job.
Find 2–3 edges that connect them.
That’s the whole system.
Step 5: Build your own “high-degree” favorites
Over time, you’ll notice some things on each side of the graph connect to almost everything. Those are your high-degree vertices.
Some examples:
On the drink side (universal bridges):
Dry sparkling wine (Champagne, good prosecco)
Crisp white (Sauvignon Blanc, some Rieslings)
Light, chillable reds (some Pinot Noir)
Highball-style cocktails: spirit + soda + citrus, not too sweet
On the food side (easy to pair):
Fried things
Grilled meat with lemon and herbs
Tomato-based dishes
Simple cheese boards (the classic “pairing default”)
If you’re hosting and anxious, you can almost always build a menu around these nodes and know you’ll find many valid edges.
Why this matters (beyond “what do I drink with X?”)
Once you start seeing pairings as a bipartite graph instead of a list of rules:
You become more confident in your own taste
You start noticing where your graph is dense (what you understand well) vs. sparse (what you avoid because you don’t know it yet)
Hosting becomes a design problem, not a stress test. You’re just connecting nodes with intention.
And honestly, it’s fun. Every time you pour something next to a dish, you’re running a tiny experiment: “Does this edge exist? How strong is it? What did I learn about these nodes?”
It’s a way of thinking about taste that you can keep evolving.
Here’s your quick guide to deciding on your food & drink pairings:
Thank you for thinking with me. This piece is part of Ode by Muno, where I explore the invisible systems shaping how we sense, think, and create.
📬 This essay is also available on Substack, where I send new pieces directly to your inbox. Subscribe to get essays like this before they're archived here.
If something here resonated, drop a comment. I’m always curious how other people think about pairings. And if you know someone who loves talking about food as much as eating it, send this to them. You can subscribe if you want to keep following these little maps as they grow.
The quote at the intro is from the book, Systems Intelligence.