Beverages
This bean-to-bar milk chocolate recipe transforms raw cocoa beans into velvety, rich bars with deep cocoa notes—no dairy required. 🌱 The process begins with fermenting and roasting beans to unlock their complex flavors, then grinding them into a smooth paste.
Using coconut or almond milk instead of dairy creates a creamy, plant-based chocolate that rivals store-bought bars.
The key to professional results lies in precise techniques: winnowing to remove shells, grinding with a melanger for smooth texture, and conching to refine flavor. A digital thermometer ensures proper tempering, giving your chocolate that signature snap and gloss.
Every step builds layers of richness, from the initial fermentation to the final cooling of your bars.
What you’ll end up with is homemade milk chocolate that’s smoother, more flavorful, and entirely customizable—whether you add sea salt, vanilla, or citrus zest. The bars keep for weeks in a cool, dark place, making them perfect for gifting or indulging. This is chocolate-making as an art, not a shortcut.
Whether you’re a beginner or seasoned chocolatier, this method delivers restaurant-quality results at home. The tools are accessible (a melanger or food processor works), and the payoff is chocolate that tastes like it came from a specialty bean-to-bar shop. Let’s get started on your first batch.
Ingredients for bean to bar milk chocolate
Twelve ingredients transform raw cocoa into velvety, restaurant-quality chocolate bars at home.
| Ingredient | Amount | Notes |
|---|---|---|
| Raw Cocoa Beans 🌱 | 12 oz | High-quality, preferably Criollo or Trinitario |
| Unsweetened Coconut Milk 🥥 | 1 can | Full-fat for creaminess (13.5 oz can) |
| Coconut Oil 🫒 | 8 oz | Refined, for smooth texture (1 cup) |
| Organic Cane Sugar 🍯 | 8 oz | Fine granulated, for sweetness (1 cup) |
| Vanilla Extract 🌿 | 1 tbsp | Pure Madagascar vanilla for depth |
| Sea Salt 🧂 | ½ tsp | Fine grain, for finishing |
| Lecithin Powder 💧 | 1 tsp | Sunflower-based for emulsification |
| Distilled Water 💧 | 2 tbsp | For proper hydration of beans |
| Dark Chocolate (85%) 🍫 | 4 oz | Optional, for flavor reference only |
| Citrus Zest 🍊 | 1 tsp | Orange or lemon, optional |
| Almond Milk 🥛 | ¼ cup | Unsweetened, for conching (optional) |
Start with high-quality cocoa beans—Criollo or Trinitario deliver the most complex flavors. Buy from specialty suppliers like Bean & Bean or Chocolate Alchemy for traceable, ethically sourced beans. The beans need to be fermented for 5-7 days before use, which deepens their flavor profile. If you're short on time, some suppliers sell pre-fermented beans, but fresh fermentation makes all the difference. The coconut milk should be full-fat—Thai Kitchen or Goya brands work perfectly, and the canned version provides both liquid and cream for texture. For the coconut oil, Bare Coconut or Nutiva brands are refined and ideal for smooth chocolate. The lecithin powder is a game-changer—it ensures your chocolate has that professional sheen and prevents graininess.
No coconut milk? Almond or cashew milk works, but the texture will be slightly lighter. Running low on vanilla? Vanilla bean paste or even a scraped vanilla pod adds depth without the alcohol. The citrus zest is optional but adds a bright, refreshing note—organic zest from a microplane is best. If you're using almond milk for conching, opt for unsweetened brands like Califia Farms or Silk to avoid altering the flavor balance. For the sugar, organic cane sugar ensures a clean, sweet profile, but evaporated cane juice works too. The lecithin can be tricky to find—check health food stores or order online from Amazon or Vitacost. If you can't find sunflower-based lecithin, soy lecithin** is a vegan alternative, though it may have a slightly different mouthfeel.
Store your finished chocolate bars in an airtight container in a cool, dark place—they’ll keep for up to 2 months. For longer storage, wrap individually in parchment paper and freeze for up to 6 months. The cocoa beans should be stored in a sealed container away from light and moisture before fermentation. Once fermented, they’ll keep for up to 2 weeks in the fridge. The coconut milk and coconut oil can be stored in the pantry for 6-12 months, but once opened, transfer the coconut milk to a sealed container to prevent spoilage. The lecithin powder stays potent for 12 months in a cool, dry place—just reseal the bag tightly after use.
Why You'll Love This Recipe
- No Special Tools Needed: I swear by this—just a saucepan, a whisk, and a bit of patience. Toasting the raw cocoa beans in dry coconut oil unlocks their flavor without needing fancy equipment, and the rest? Stirring, cooling, tempering (which is easier than it sounds). Honestly, my first batch turned out fine even though I skipped the thermometer.
- Rich, Unfiltered Depth: The difference between this and store-bought? The beans. Raw cocoa beans have this complex, almost floral bitterness that turns velvety when balanced with just the right amount of coconut milk and cane sugar. Add a whisper of vanilla, and it’s like biting into a secret—smooth but with layers you can’t ignore.
- Endless Customization: Make it a gift by rolling it into truffles, drizzle it over fruit for dessert, or melt it into sauces for savory dishes (yes, really). I’ve even used the leftover chunks to top oatmeal—sounds weird, but trust me, it works. The recipe’s simplicity means it’s always adaptable without extra stress.
- Lasts Without Waste: A bar keeps for weeks in the fridge, and the leftovers? Perfect for quick treats. I’ll be real: I’ve made this twice in one week because it’s that good, and the cost per batch is a fraction of what I’d spend on artisan chocolate. Plus, no weird preservatives—just pure, honest ingredients doing their thing.
Step-by-step instructions for bean-to-bar milk chocolate
Transform raw cocoa into velvety milk chocolate with this precise, rewarding process.
🔥 Step 1: Roast and Grind the Cocoa Beans
Preheat your oven to 275°F and spread the 12 oz raw cocoa beans on a baking sheet in a single layer. Roast for 20-25 minutes until they develop deep, toasty aromas and turn a rich mahogany color. Stir halfway through for even roasting.
Transfer the beans to a clean kitchen towel and let them cool completely before processing. This cooling step prevents overheating your food processor. Once cool, grind the beans in batches until you achieve a fine, sand-like texture—this will become your cocoa liquor. The goal is consistency, so pulse between grindings to avoid overheating the machine.
🍳 Step 2: Create the Chocolate Base
In a heavy-bottomed saucepan, combine the ground cocoa with the 1 can unsweetened coconut milk and 2 tbsp distilled water. Heat over medium-low heat while stirring constantly for 15 minutes until the mixture reaches 115°F—this is the perfect temperature for proper cocoa extraction. You'll see the mixture thicken and develop a rich, chocolatey aroma.
Remove from heat and let it steep for 10 minutes, covered. This resting period allows the cocoa compounds to fully infuse. Then strain through a fine-mesh sieve into a clean bowl, pressing gently to extract every last drop of cocoa-infused liquid. Discard the solids—what remains is your pure cocoa liquor base.
👨🍳 Step 3: Conch the Chocolate Mixture
In a separate bowl, whisk together the 8 oz coconut oil, 8 oz organic cane sugar, 1 tbsp vanilla extract, 0.5 tsp sea salt, 1 tsp lecithin powder, and the 0.25 cup almond milk (if using) until completely smooth. This mixture forms the creamy foundation of your chocolate.
Add the strained cocoa liquor to the oil mixture and whisk vigorously for 2-3 minutes until fully combined. For a more professional texture, I recommend using a hand mixer on medium speed. The mixture should be smooth and homogenous—this is your chocolate ganache. If you're using the 4 oz dark chocolate (85%), chop it finely and fold it in now for added depth.
⏰ Step 4: Temper and Set the Chocolate
Place a heatproof bowl over a pot of simmering water (double boiler) and gently heat the chocolate mixture, stirring constantly, until it reaches 110°F. Remove from heat and let it cool to 82°F while stirring continuously—this tempering process is crucial for that signature snap and shine. You'll know it's properly tempered when the chocolate thickens slightly and leaves a glossy film on your spoon.
Pour the tempered chocolate into a lined silicone mold or parchment-lined loaf pan. Tap gently to remove air bubbles, then sprinkle the 1 tsp citrus zest (if using) over the top. Let the chocolate set at room temperature for 1-2 hours until firm, then refrigerate for 30 minutes to fully harden. This resting period ensures clean breaks when unmolding.
🔪 Step 5: Unmold and Enjoy
Once fully set, gently flex the silicone mold or use a sharp knife to release the chocolate from the parchment. Break into 12 equal bars (about 1 oz each) by tapping gently along the score lines. The chocolate should snap cleanly with a satisfying crack—this indicates proper tempering.
Store the bars in an airtight container at room temperature, away from direct sunlight. They'll keep for up to 2 weeks, though I promise they won't last that long. Each piece should deliver rich cocoa notes, creamy coconut milk depth, and a perfect balance of sweetness and acidity from the citrus zest.
Pro Tips For Making Bean To Bar Milk Chocolate
- Roast Beans Until They Scream: I learned this the hard way—raw cocoa beans need to hit 120°C (250°F) for 20-30 minutes, not just warm up. If they’re underdone, your chocolate will taste bitter and flat; if overdone, they’ll turn to dust. Use a baking sheet, not a pan, for even heat and shake them every 10 minutes to avoid scorching.
- Whip Coconut Milk First: Skip the canned milk’s thick cream layer—blend the full can with 1 cup water for 30 seconds before using. This breaks up the fat evenly, making your chocolate smoother and richer. (Yes, even if you’re impatient like me.)
- Temper the Coconut Oil: Don’t just melt the coconut oil—heat it to 40°C (104°F), then cool it to 27°C (80°F) before mixing. This mimics tempering and prevents grainy chocolate. A candy thermometer is worth it; guessing leads to sad, crumbly results.
- Strain Like Your Future Self Depends on It: After blending, strain through a fine-mesh sieve into a bowl, then press with a spoon. This removes fiber and bitterness, giving you silky-smooth chocolate. (I know, it’s tedious—but your chocolate will taste like it came from a $50 bar.)
Regional styles of these flavors
Mexican Cacao Traditions
In Mexico, chocolate has been crafted for centuries using cacao beans fermented in banana leaves—a technique that enhances fruity, floral notes.
The ancient Aztecs created a frothy, spiced drink called xocolatl with chili powder and corn masa, but modern Mexican bean-to-bar chocolatiers like Chocomize blend coconut milk with cinnamon and vanilla for a creamy, aromatic bar. Try adding ½ tsp ground cinnamon to your recipe for an authentic twist. 🌶️
Swiss Precision Method
Swiss chocolatiers focus on conching—a process where chocolate is agitated for hours to achieve ultra-smooth texture. While home kitchens lack industrial conching machines, you can mimic the effect by whisking your mixture for 10-15 minutes on high speed.
Swiss brands like Lindt use almond milk for their milk chocolate, so swap in ½ cup almond milk during conching for a lighter, more refined flavor. The result? A silky bar with a melt-in-your-mouth finish. ✨
Japanese Matcha Infusion
Japanese chocolatiers often blend matcha powder with milk chocolate for a vibrant, earthy profile. For a fusion twist, whisk 1 tsp ceremonial-grade matcha into your tempered chocolate before setting. Use high-quality matcha like Ippodo Tea to avoid bitterness.
The matcha pairs beautifully with the coconut milk’s creaminess, creating a bar that’s both rich and subtly refreshing—perfect for pairing with green tea. 🍵
Italian Nutty Variations
Italian bean-to-bar brands like Venchi often incorporate hazelnuts into their milk chocolate, inspired by Nutella’s origins. Toast ½ cup hazelnuts in a dry pan until fragrant, then blend into a paste with 2 tbsp coconut milk**. Fold this into your chocolate mixture before tempering for a nutty depth.
For extra indulgence, press whole hazelnuts into the top of your bars before they set. The texture contrast is pure Italian dolce vita. 🌰
Peruvian Amazon Blend
Peruvian cacao beans, grown in the Amazon, boast intense fruity and berry notes. If you can source them, replace your Criollo beans with Peruvian Nacional cacao for a tropical twist. Pair with ½ tsp freeze-dried passionfruit powder (available at specialty stores) during conching.
The result? A chocolate bar with bright, exotic flavors that taste like a vacation in every bite. 🌿
French Vanilla Bean Luxe
French chocolatiers elevate milk chocolate with Madagascar vanilla beans, scraping the seeds into the mixture for deeper flavor. Skip the extract and use 1 scraped vanilla bean (or 2 tbsp seeds) during conching.
For a decadent touch, infuse ½ cup coconut milk** with the vanilla bean before adding it to your recipe. The aroma alone will make your kitchen smell like a Parisian patisserie. 💛
Nutrition facts
Frequently asked questions
Can I substitute coconut milk with another plant-based milk?
Yes, but texture and flavor will vary. Almond or cashew milk works best for creaminess, while oat milk adds a slightly grainier texture. Use ½ cup unsweetened milk during conching to maintain balance. For a richer mouthfeel, blend ¼ cup milk powder with ¼ cup water instead.
Why does my chocolate look dull instead of glossy?
Dull chocolate usually means improper tempering. Reheat your chocolate to 110°F, then cool it back to 82°F while stirring constantly—this creates the proper crystal structure for shine. If it still lacks luster, add ½ tsp lecithin powder to your mixture before tempering.
How do I know when my cocoa beans are properly fermented?
Fermented beans should smell sweet, fruity, and slightly tangy (like ripe fruit). Visually, they’ll develop a purple or reddish hue. If they still smell bitter or raw, ferment for 2-3 more days in a warm, humid environment. Pro tip: Use a hydrometer to check for proper fermentation—beans should float when placed in water.
Can I make this recipe without a melanger?
A high-powered food processor or even a blender works for grinding beans into cocoa liquor. For conching, whisk your mixture vigorously for 10-15 minutes on high speed to achieve a smooth texture. The key is patience—pulse between grindings to avoid overheating your machine.
What’s the best way to store homemade chocolate bars?
Keep bars in an airtight container at room temperature (below 70°F) for 2 weeks. For longer storage, wrap individually in parchment paper and freeze for up to 6 months. Avoid humidity—moisture causes bloom (white streaks). A cool, dark pantry is ideal.
