Quick Recipe Version (TL;DR)
Quick Ingredients
- 2 Tbsp neutral oil (avocado, grapeseed, or canola), plus more as needed
- 1/3 cup sliced almonds
- 1/4 cup raw pepitas (pumpkin seeds)
- 1 slice sturdy bread (about 1 oz / 28 g), torn into pieces
- 1 medium yellow onion, diced
- 4 garlic cloves, peeled
- 1 (14.5 oz / 411 g) can fire-roasted diced tomatoes
- 2 Tbsp tomato paste
- 2 dried ancho chiles, stemmed and seeded
- 1 dried guajillo chile, stemmed and seeded
- 1 dried chipotle chile (or 1/2 tsp chipotle powder)
- 2 cups low-sodium chicken broth (or vegetable broth)
- 1 1/2 tsp ground cumin
- 1 tsp ground cinnamon
- 1/2 tsp ground cloves
- 1 tsp dried Mexican oregano (or marjoram)
- 1/2 tsp freshly ground black pepper
- 1 tsp kosher salt, plus more to taste
- 1 1/2 oz (43 g) dark chocolate (70% cacao), chopped
- 1 Tbsp unsweetened cocoa powder
- 2 Tbsp raisins
- 1 1/2 Tbsp packed light brown sugar (or piloncillo), plus more to taste
- 1 Tbsp apple cider vinegar (or lime juice)
Do This
- Toast almonds and pepitas in 2 Tbsp oil (3–5 min); remove. Brown bread pieces (1–2 min); remove.
- Sauté onion and garlic until soft and lightly golden (8–10 min). Stir in tomato paste (1 min).
- Toast dried chiles in the pot (30–45 sec), then simmer with tomatoes and broth for 10 minutes.
- Blend everything (nuts, seeds, bread, chile-tomato mixture, spices, raisins, sugar) until very smooth.
- Simmer blended sauce 15–20 min, stirring often, until thick, glossy, and deep-colored.
- Finish with chocolate and cocoa; melt in. Balance with vinegar and salt.
- Use for chicken, enchiladas, or roasted vegetables; thin with broth if needed.
Why You’ll Love This Recipe
- Big flavor without being fussy: Toasting and blending create a deep, complex sauce with straightforward steps.
- Smoky-sweet and savory: Tomatoes, dried chiles, warm spices, and a hint of cocoa give mole-like richness.
- Versatile: Spoon over chicken, swirl into enchiladas, or drizzle on roasted vegetables and beans.
- Make-ahead friendly: The flavor gets even better after a night in the fridge.
Grocery List
- Produce: 1 medium yellow onion, 4 garlic cloves, 1 lime (optional if using lime juice), fresh cilantro (optional garnish)
- Dairy: None
- Pantry: Neutral oil, sliced almonds, raw pepitas, sturdy bread slice, fire-roasted diced tomatoes (14.5 oz), tomato paste, dried ancho chiles, dried guajillo chile, dried chipotle chile (or chipotle powder), low-sodium chicken or vegetable broth, ground cumin, ground cinnamon, ground cloves, dried Mexican oregano, black pepper, kosher salt, dark chocolate (70%), unsweetened cocoa powder, raisins, light brown sugar (or piloncillo), apple cider vinegar
Full Ingredients
Toasted nuts, seeds, and thickener
- 2 Tbsp neutral oil (avocado, grapeseed, or canola), plus more as needed
- 1/3 cup sliced almonds
- 1/4 cup raw pepitas (pumpkin seeds)
- 1 slice sturdy bread (about 1 oz / 28 g), torn into 1-inch pieces
Aromatics and tomato base
- 1 medium yellow onion (about 8 oz / 225 g), diced
- 4 garlic cloves, peeled
- 2 Tbsp tomato paste
- 1 (14.5 oz / 411 g) can fire-roasted diced tomatoes, with juices
- 2 cups low-sodium chicken broth (or vegetable broth), plus more as needed for thinning
Dried chiles (mole-inspired heat and smokiness)
- 2 dried ancho chiles, stemmed and seeded
- 1 dried guajillo chile, stemmed and seeded
- 1 dried chipotle chile, stemmed and seeded (or 1/2 tsp chipotle powder)
Spices, sweetness, and finishing
- 1 1/2 tsp ground cumin
- 1 tsp ground cinnamon
- 1/2 tsp ground cloves
- 1 tsp dried Mexican oregano (or marjoram)
- 1/2 tsp freshly ground black pepper
- 1 tsp kosher salt, plus more to taste
- 2 Tbsp raisins
- 1 1/2 Tbsp packed light brown sugar (or finely grated piloncillo)
- 1 1/2 oz (43 g) dark chocolate (70% cacao), chopped
- 1 Tbsp unsweetened cocoa powder
- 1 Tbsp apple cider vinegar (or 1 Tbsp fresh lime juice)
Optional for serving
- Toasted sesame seeds
- Chopped cilantro
- Warm corn tortillas, cooked chicken, roasted sweet potatoes, cauliflower, or carrots

Step-by-Step Instructions
Step 1: Toast the nuts, seeds, and bread
Set a large heavy-bottomed pot or Dutch oven over medium heat. Add 2 Tbsp neutral oil.
Add the sliced almonds and pepitas. Cook, stirring frequently, until the almonds are fragrant and lightly browned and the pepitas start to pop slightly, 3–5 minutes. Immediately transfer to a bowl so they don’t keep darkening in the hot pot.
Add the torn bread pieces to the pot. Toast in the remaining oil until golden on the edges, 1–2 minutes. Transfer to the bowl with the nuts and seeds.
Step 2: Build a sweet-savory base with onion, garlic, and tomato paste
In the same pot (no need to wipe it out), add the diced onion. If the pot looks dry, add 1–2 teaspoons oil. Cook over medium heat, stirring occasionally, until the onion softens and begins to turn golden, 8–10 minutes.
Add the garlic cloves and cook, stirring, until fragrant, 30 seconds.
Stir in the tomato paste and cook until it darkens slightly and smells toasty (this deepens the sauce), 1 minute.
Step 3: Toast the dried chiles, then simmer with tomatoes and broth
Push the onion mixture to the edges of the pot and add the dried chiles (2 ancho, 1 guajillo, 1 chipotle) to the center. Toast just until pliable and aromatic, 30–45 seconds, flipping once. Do not let them burn (burnt chiles taste bitter).
Add the fire-roasted diced tomatoes (with juices) and 2 cups broth. Bring to a simmer over medium-high heat, then reduce to maintain a gentle simmer and cook for 10 minutes, stirring occasionally. This softens the chiles for blending and brings the flavors together.
Step 4: Blend until very smooth
Carefully transfer the hot mixture to a blender (or use an immersion blender in a deep container, though a blender gives the smoothest texture). Add the toasted almonds, pepitas, and bread.
Add the ground cumin, cinnamon, cloves, Mexican oregano, black pepper, 1 tsp kosher salt, raisins, and brown sugar.
Blend, starting on low and ramping up to high, until the sauce is silky-smooth, 60–90 seconds. If it’s too thick to blend easily, add an extra splash of broth, 2 Tbsp at a time.
Step 5: Simmer to thicken and deepen the flavor
Pour the blended sauce back into the pot. Set over medium-low heat and bring to a gentle simmer, stirring frequently (it can splatter as it thickens).
Cook until the sauce becomes darker, glossier, and lightly thickened to a spoon-coating consistency, 15–20 minutes. If it gets thicker than you want, thin with a little additional broth, 2–4 Tbsp at a time.
Step 6: Add chocolate and cocoa for a rich, mole-like finish
Turn heat to low. Add the chopped dark chocolate and 1 Tbsp cocoa powder. Stir until the chocolate is fully melted and the sauce looks uniformly glossy, 1–2 minutes.
Keep the heat gentle here so the sauce stays smooth and the chocolate doesn’t scorch.
Step 7: Balance with vinegar, salt, and sweetness
Stir in 1 Tbsp apple cider vinegar (or 1 Tbsp lime juice). Taste and adjust:
- Salt: Add more in 1/4 tsp increments if it tastes flat.
- Sweetness: Add up to 1 additional Tbsp brown sugar if you want more smoky-sweet balance.
- Heat/smokiness: Add 1/4 tsp chipotle powder if you want more smoky heat.
- Thickness: Thin with broth for pouring; simmer longer for a thicker enchilada-style sauce.
Step 8: Serve (chicken, enchiladas, or roasted vegetables)
Use the sauce warm. For chicken: spoon over roasted or simmered chicken and serve with rice or tortillas. For enchiladas: dip tortillas, fill, roll, cover with sauce, and bake at 375°F (190°C) until bubbling, 20–25 minutes. For roasted vegetables: drizzle over 425°F (218°C) roasted cauliflower, sweet potatoes, or carrots and finish with sesame seeds and cilantro.
Pro Tips
- Prevent bitterness: Toast dried chiles briefly (under a minute). If they smell sharp or acrid, they’ve gone too far.
- Smoothness is the goal: Blend longer than you think you need. A full 90 seconds makes the sauce velvety.
- Control the thickness: For enchiladas, aim for a sauce that coats the back of a spoon. For drizzling, thin with extra broth until pourable.
- Layer the flavor: The vinegar/lime at the end is not optional; it “wakes up” the cocoa and chile flavors.
- Blender safety: Vent steam (remove the center cap and cover with a folded towel) and start on low to avoid hot splatters.
Variations
- Peanut-sesame twist: Swap almonds for 1/4 cup roasted peanuts and add 1 Tbsp toasted sesame seeds with the nuts.
- Vegetarian/vegan: Use vegetable broth and ensure your dark chocolate is dairy-free.
- Extra smoky: Add 1/2 tsp smoked paprika with the spices, or replace the dried chipotle with 1 whole canned chipotle in adobo (reduce brown sugar to 1 Tbsp and add to taste).
Storage & Make-Ahead
Let the sauce cool to room temperature, then store in an airtight container in the refrigerator for up to 5 days. The flavor deepens overnight, making this ideal for make-ahead meals.
Freeze in freezer-safe containers (or in 1/2-cup portions) for up to 3 months. Thaw overnight in the fridge, then rewarm gently over low heat, stirring often. If it thickens after chilling, loosen with 1–3 Tbsp broth or water as needed.
Nutrition (per serving)
Approximate, based on 8 servings (about 7 Tbsp each): 165 calories, 11 g fat, 15 g carbs, 3 g protein, 3 g fiber, 8 g sugar, 520 mg sodium.
