Creating a fudge with the classic firm, melt-in-your-mouth texture of traditional candy while adhering to strict ketogenic guidelines requires specific fat ratios and cooling techniques. The challenge lies in balancing the moisture from peanut butter against the solidifying properties of coconut oil and cream cheese to prevent the fudge from becoming soft or greasy.
Why This Recipe Works
Traditional fudge relies on sugar crystals to set, which is impossible on a keto diet. Instead, this recipe uses fat crystallization and the structural integrity of high-fat dairy to achieve a firm bite. The key to success is ensuring your coconut oil is fully melted before mixing but then allowed to cool slowly. This prevents large oil pockets from forming, resulting in a smooth, uniform texture that holds its shape at room temperature.
Recipe Overview
- Servings: 16 squares (approx. 1 oz each)
- Total Time: 45 minutes (30 min active, 15 min cooling)
- Yield: One 8×8 inch pan
- Main Technique: Melted fat emulsion and slow cooling
Ingredients
This recipe uses pantry staples to keep costs low while maintaining flavor depth. All ingredients are measured in grams for precision.
- Peanut butter: 400g (unsalted, creamy or smooth; avoid oil-heavy varieties)
- Coconut oil: 120g (refined, white, fully liquid at room temperature)
- Cream cheese: 150g (full-fat, softened to room temperature)
- Erythritol: 180g (granulated; purest form for texture)
- Vanilla extract: 2ml
- Salt: 2g (pinch of fine sea salt)
Method
Follow these steps to ensure the fudge sets correctly and tastes rich without being overly sweet.
- Melt the fats: In a medium saucepan, combine the coconut oil and cream cheese. Heat over low-medium heat (approx. 30-40°C / 85-105°F) until the mixture is completely smooth and liquid. Do not let it boil or brown.
- Combine dry ingredients: In a separate bowl, whisk together the erythritol and salt until well blended.
- Mix to emulsify: Pour the warm peanut butter into the melted coconut oil mixture. Whisk vigorously for two minutes to incorporate air. Then, add the sweetener blend and vanilla extract.
- Check consistency: The mixture should be thick but pourable. If it looks too runny, add an additional 10g of coconut oil; if too stiff, add a teaspoon of peanut butter.
- Pour and chill: Pour the fudge into a lined 8×8 inch baking pan. Smooth the top with a spatula. Refrigerate for at least 45 minutes until completely firm before cutting.
Troubleshooting Common Issues
Even with careful measurements, texture can vary based on ingredient quality and temperature control.
Why is my fudge too soft?
This usually happens if the coconut oil was not fully melted or if the peanut butter contained excess liquid oil. Ensure the oil is completely liquid before mixing. Alternatively, the cooling time may have been insufficient; return the pan to the refrigerator for another 15 minutes.
Why did my fudge separate?
Separation occurs when the fats and sugars do not emulsify properly. This can happen if you overheat the cream cheese or if the peanut butter is too oily. Whip the mixture vigorously during the first two minutes of mixing to create a stable foam that holds together.
Substitutions and Variations
You can adjust this recipe based on dietary preferences, but note that texture changes may occur.
- Almond Butter: Substituting for peanut butter alters the fat content. Almond butter is generally thinner; you may need to increase the coconut oil by 20g to maintain firmness.
- Cocoa Powder: For dark chocolate flavor, add 30g of unsweetened cocoa powder after mixing. This adds minimal carbs but enhances richness.
- Sugar Substitutes: While erythritol works best, maltitol can cause a softer texture due to its hygroscopic nature. If using maltitol, reduce the amount by 20g and add an extra 15g of coconut oil.
Storage and Reheating
This fudge is best consumed within one week for peak texture. Store in an airtight container at room temperature or refrigerate for longer storage. It will remain firm even after reheating, though the flavor may become slightly muted.
Reheating Instructions
If you wish to serve warm, microwave individual squares for 10-15 seconds until softened. Cut before reheating to ensure even melting. Do not reheat large blocks or the center will remain hard while the edges melt.

