When it comes to indulgent desserts, few can rival the charm and elegance of Black Forest Cake. This German-inspired classic combines rich layers of chocolate cake, tart cherries, and fluffy whipped cream for a dessert that’s as beautiful as it is delicious. Whether you’re baking for a special celebration or simply treating yourself, this Black Forest Cake recipe is sure to impress your taste buds and your guests.
Why You’ll Love This Black Forest Cake Recipe
Black Forest Cake is more than just a dessert; it’s an experience. The moist chocolate cake, the tangy cherry filling, and the creamy whipped topping come together in perfect harmony. This recipe takes the guesswork out of creating this stunning dessert, offering easy-to-follow steps and pro tips to make it achievable for home bakers of all levels.
Ingredients for Black Forest Cake
For the Chocolate Cake
- 1 ¾ cups all-purpose flour
- ¾ cup Dutch-processed cocoa powder
- 1 ½ teaspoons baking powder
- 1 teaspoon baking soda
- ½ teaspoon salt
- 1 ½ cups buttermilk
- 1 teaspoon vanilla extract
- 1 teaspoon instant coffee granules (optional)
- ¾ cup vegetable oil (or canola oil)
- 2 cups granulated sugar
- 2 whole eggs
- 1 egg white
For the Cherry Filling and Chocolate Syrup Layer
- ½ cup granulated sugar
- 2 ½ tablespoons cornstarch
- 2 cups tart cherries (frozen or canned, drained)
- 1 tablespoon butter
- ¼ teaspoon almond extract
- 6 tablespoons chocolate syrup, divided
For the Whipped Cream and Toppings
- 1 ½ cups heavy whipping cream
- ¼ cup powdered sugar
- 2 teaspoons vanilla extract
- 8 oz bittersweet baking chocolate (2 bars)
- 8–12 fresh cherries (optional, for garnish)
Step-by-Step Instructions
1. Prepare the Chocolate Cake
- Preheat your oven to 350°F. Line two 8-inch round cake pans with parchment paper and spray with nonstick cooking spray.
- In a large mixing bowl, whisk together the flour, cocoa powder, baking powder, baking soda, and salt. Set aside.
- In a liquid measuring cup, mix buttermilk, vanilla extract, and instant coffee granules (if using). Let sit for 5–10 minutes to dissolve the coffee granules.
- In another large bowl, mix the vegetable oil and sugar until well combined. Add the eggs and egg white, one at a time, mixing until the mixture becomes light and fluffy.
- Gradually alternate adding the dry ingredients and the buttermilk mixture to the wet ingredients, starting and ending with the dry ingredients. Mix until smooth.
- Divide the batter evenly between the prepared pans and smooth the tops.
- Bake for 28–35 minutes, checking for doneness with a toothpick around the 25-minute mark.
- Let the cakes cool in their pans for 15–20 minutes before inverting onto a wire rack to cool completely.
2. Make the Cherry Filling
- In a small saucepan, stir together sugar and cornstarch until well combined.
- Add the cherries and cook over medium-low heat until the cherries release their juices.
- Increase the heat to medium and cook, stirring constantly, until the mixture thickens and boils, about 4 minutes.
- Remove from heat and stir in the butter and almond extract. Let cool completely.
3. Prepare the Whipped Cream
- In a large bowl, whip the heavy cream, powdered sugar, and vanilla extract with an electric mixer until stiff peaks form.
- Refrigerate the whipped cream until ready to use.
4. Assemble the Cake
- Slice each cooled cake layer in half horizontally, creating four thin cake layers.
- Place one layer on a cake plate and drizzle with 3 tablespoons of chocolate syrup, spreading it evenly.
- Add a layer of cherry filling, leaving a 1-inch border around the edges.
- Repeat the process with the second and third layers, adding chocolate syrup and cherry filling as you go.
- Place the final cake layer on top and frost the entire cake with whipped cream.
5. Decorate
- Use a vegetable peeler to create chocolate shavings from the bittersweet chocolate bars.
- Press the chocolate shavings onto the sides and top of the cake.
- Pipe decorative rosettes of whipped cream on top of the cake and garnish with fresh cherries, if desired.
Tips for Success
- Keep It Cool: Refrigerate the cake layers before assembling to make slicing and frosting easier.
- Fresh or Canned Cherries: If using fresh cherries, pit and cook them slightly with sugar and cornstarch for the filling.
- Chocolate Shavings Hack: Freeze the chocolate bars for 5 minutes before shaving to create clean curls.
- Whipped Cream Stability: Add 1 teaspoon of cornstarch to the whipped cream if you need it to hold its shape for longer.
Nutritional Information (Per Serving)
Nutrient | Amount |
---|---|
Calories | 450 kcal |
Carbohydrates | 48g |
Protein | 6g |
Total Fat | 25g |
Saturated Fat | 14g |
Sugar | 30g |
Sodium | 210mg |
Fiber | 4g |
FAQs About Black Forest Cake Recipe
1. Can I make this cake ahead of time?
Yes! Bake the cake layers and prepare the cherry filling a day in advance. Assemble and frost the cake the day you plan to serve it.
2. Can I use store-bought whipped cream?
While homemade whipped cream offers the best flavor and texture, you can use store-bought for convenience.
3. What if I don’t have Dutch-processed cocoa powder?
You can substitute natural cocoa powder, but the flavor may be slightly less rich.
4. How do I store leftovers?
Cover the cake and store it in the refrigerator for up to 3 days.
5. Can I make this cake gluten-free?
Yes! Use a 1:1 gluten-free flour blend as a substitute for the all-purpose flour.
6. What’s the difference between Black Forest Cake and Chocolate Cake?
Black Forest Cake includes layers of cherry filling and whipped cream, while traditional chocolate cake is usually frosted with buttercream or ganache.
Why You Should Try This Black Forest Cake Recipe
Black Forest Cake is a show-stopping dessert that combines the best of flavors and textures. From the moist chocolate cake to the tangy cherry filling and the luscious whipped cream, every bite is a delight. Whether it’s for a birthday, holiday, or special gathering, this recipe will make your celebration even more memorable.
Ready to Bake? Gather your ingredients and create this stunning Black Forest Cake today. Share it with friends and family or savor it as a well-deserved treat for yourself. You deserve it!
Easy Homemade Black Forest Cake Recipe – Perfect for Any Occasion
Total Time: 1 hour 10 minutes
Yield: 8–10 servings
Description
Black Forest Cake is a decadent dessert layered with rich chocolate cake, tart cherry filling, and fluffy whipped cream. Topped with chocolate shavings and fresh cherries, this show-stopping cake is perfect for special occasions or when you want to indulge in something extraordinary.
Ingredients
For the Chocolate Cake:
- All-purpose flour: 1 ¾ cups
- Dutch-processed cocoa powder: ¾ cup
- Baking powder: 1 ½ teaspoons
- Baking soda: 1 teaspoon
- Salt: ½ teaspoon
- Buttermilk: 1 ½ cups
- Vanilla extract: 1 teaspoon
- Instant coffee granules (optional): 1 teaspoon
- Vegetable oil: ¾ cup
- Granulated sugar: 2 cups
- Whole eggs: 2
- Egg white: 1
For the Cherry Filling and Chocolate Syrup Layer:
- Granulated sugar: ½ cup
- Cornstarch: 2 ½ tablespoons
- Tart cherries (frozen or canned, drained): 2 cups
- Butter: 1 tablespoon
- Almond extract: ¼ teaspoon
- Chocolate syrup: 6 tablespoons
For the Whipped Cream and Toppings:
- Heavy whipping cream: 1 ½ cups
- Powdered sugar: ¼ cup
- Vanilla extract: 2 teaspoons
- Bittersweet baking chocolate (for shavings): 8 oz
- Fresh cherries (optional, for garnish): 8–12
Instructions
- Prepare the Chocolate Cake:
- Preheat the oven to 350°F. Line two 8-inch round cake pans with parchment paper and spray with nonstick cooking spray.
- In a large bowl, whisk together the flour, cocoa powder, baking powder, baking soda, and salt. Set aside.
- In a measuring cup, mix buttermilk, vanilla, and instant coffee granules (if using). Let the coffee granules dissolve for 5–10 minutes.
- In a separate bowl, mix the vegetable oil and sugar until combined. Add the eggs and egg white one at a time, beating until the mixture is light.
- Alternate adding the dry ingredients and buttermilk mixture to the wet ingredients, starting and ending with the dry ingredients. Mix until smooth.
- Divide the batter evenly between the pans and bake for 28–35 minutes or until a toothpick inserted into the center comes out clean.
- Cool the cakes in their pans for 15–20 minutes before transferring to a wire rack to cool completely.
- Make the Cherry Filling:
- In a small saucepan, stir together the sugar and cornstarch.
- Add the cherries and cook over medium-low heat, stirring, until the cherries release their juices.
- Increase the heat to medium and stir until the mixture thickens, about 4 minutes.
- Remove from heat and stir in the butter and almond extract. Cool completely.
- Prepare the Whipped Cream:
- In a large bowl, whip the heavy cream, powdered sugar, and vanilla until stiff peaks form. Refrigerate until ready to use.
- Assemble the Cake:
- Slice each cooled cake layer horizontally to create four thin layers.
- Place one layer on a cake plate and drizzle with 3 tablespoons of chocolate syrup. Spread evenly.
- Add a layer of cherry filling, leaving a 1-inch border.
- Repeat with the next two layers, alternating chocolate syrup and cherry filling.
- Place the final layer on top and frost the entire cake with whipped cream.
- Decorate the Cake:
- Use a vegetable peeler to create chocolate shavings from the bittersweet chocolate bars.
- Press the shavings onto the sides and top of the cake.
- Pipe rosettes of whipped cream on top and garnish with fresh cherries, if desired.
Notes
- Make Ahead: Bake the cake layers and prepare the cherry filling a day in advance for easier assembly.
- Chocolate Shavings: Freeze the chocolate bars for a few minutes before shaving for cleaner curls.
- Storing: Store the assembled cake in the refrigerator for up to 3 days.
- Prep Time: 30 minutes
- Cook Time: 40 minutes
- Category: Dessert
- Method: Baking
- Cuisine: German
window.trCommon={“minRating”:6,”ajaxurl”:”https:\/\/forurenergy.com\/wp-admin\/admin-ajax.php”,”ratingNonce”:””,”postId”:623};
window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.smoothScroll = {
init() {
document.addEventListener( ‘click’, ( e ) => {
let anchor = e.target;
if ( anchor.tagName !== ‘A’ ) {
anchor = anchor.closest( ‘a.tasty-recipes-scrollto’ );
}
if ( ! anchor || ! anchor.classList.contains( ‘tasty-recipes-scrollto’ ) ) {
return;
}
const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}
e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const element = document.querySelector( selector );
if ( ! element ) {
return;
}
element.scrollIntoView( { behavior: ‘smooth’ } );
}
};
document.addEventListener(
‘DOMContentLoaded’,
() => window.TastyRecipes.smoothScroll.init()
);
(function(){
document.querySelectorAll(‘[data-tr-ingredient-checkbox]’).forEach(function(el) {
var input = el.querySelector(‘.tr-ingredient-checkbox-container input[type=”checkbox”]’);
if ( ! input ) {
return;
}
if (input.checked) {
el.dataset.trIngredientCheckbox = ‘checked’;
}
el.addEventListener(‘click’, function(event) {
if ( ‘A’ === event.target.nodeName
|| ‘INPUT’ === event.target.nodeName
|| ‘LABEL’ === event.target.nodeName ) {
return;
}
input.click();
});
input.addEventListener(‘change’, function() {
el.dataset.trIngredientCheckbox = input.checked ? ‘checked’ : ”;
});
});
}());
window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.cookMode = {
wakeLockApi: false,
wakeLock: false,
cookModeSelector: ‘.tasty-recipes-cook-mode’,
init() {
if (“wakeLock” in navigator && “request” in navigator.wakeLock) {
this.wakeLockApi = navigator.wakeLock;
}
const cookModes = document.querySelectorAll(this.cookModeSelector);
if (cookModes.length > 0) {
for (const cookMode of cookModes) {
if (this.wakeLockApi) {
cookMode.querySelector(‘input[type=”checkbox”]’).addEventListener(“change”, event => {
this.checkboxChange(event.target);
}, false);
} else {
cookMode.style.display = “none”;
}
}
}
},
checkboxChange(checkbox) {
if (checkbox.checked) {
this.lock();
} else {
this.unlock();
}
},
setCheckboxesState(state) {
const checkboxes = document.querySelectorAll(this.cookModeSelector + ‘ input[type=”checkbox”]’);
for (const checkbox of checkboxes) {
checkbox.checked = state;
}
},
async lock() {
try {
this.wakeLock = await this.wakeLockApi.request(“screen”);
this.wakeLock.addEventListener(“release”, () => {
this.wakeLock = false;
this.setCheckboxesState(false);
});
this.setCheckboxesState(true);
} catch (error) {
this.setCheckboxesState(false);
}
},
unlock() {
if (this.wakeLock) {
this.wakeLock.release();
this.wakeLock = false;
}
this.setCheckboxesState(false);
}
};
(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
document.addEventListener(“DOMContentLoaded”, callback);
}
})(() => {
window.TastyRecipes.cookMode.init();
});
window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.staticTooltip = {
element: null,
tooltipElement: null,
deleting: false,
init( element ) {
if ( this.deleting ) {
return;
}
this.element = element;
this.buildElements();
},
destroy() {
if ( ! this.tooltipElement || this.deleting ) {
return;
}
this.deleting = true;
this.tooltipElement.classList.remove( ‘opened’ );
setTimeout( () => {
this.tooltipElement.remove();
this.deleting = false;
}, 500 );
},
buildElements() {
const tooltipElement = document.createElement( ‘div’ );
tooltipElement.classList.add( ‘tasty-recipes-static-tooltip’);
tooltipElement.setAttribute( ‘id’, ‘tasty-recipes-tooltip’ );
const currentTooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
if ( currentTooltipElement ) {
document.body.replaceChild( tooltipElement, currentTooltipElement );
} else {
document.body.appendChild( tooltipElement );
}
this.tooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
},
show() {
if ( ! this.tooltipElement ) {
return;
}
const tooltipTop = this.element.getBoundingClientRect().top
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().height;
const tooltipLeft = this.element.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.element.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );
this.tooltipElement.setAttribute( ‘style’, ‘top:’ + tooltipTop + ‘px;left:’ + posLeft + ‘px;’ );
this.tooltipElement.classList.add( ‘opened’ );
},
maybeRemoveTail( removeTail ) {
if ( removeTail ) {
this.tooltipElement.classList.add( ‘tr-hide-tail’ );
} else {
this.tooltipElement.classList.remove( ‘tr-hide-tail’ );
}
},
changeMessage( message ) {
if ( ! this.tooltipElement ) {
return;
}
this.tooltipElement.innerHTML = message;
}
};
window.TastyRecipes.ajax = {
sendPostRequest( url, data, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( ‘POST’, url, true );
xhr.send( this.preparePostData( data ) );
xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.status === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}
failure( xhr );
};
xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( data ) {
const formData = new FormData();
for ( const key in data ) {
formData.append( key, data[key] );
}
return formData;
},
};
window.TastyRecipes.ratings = {
defaultRating: 0,
currentRatingPercentage: 100,
savingRating: false,
init( minRating ) {
this.minRating = minRating;
this.formWatchRating();
this.closeTooltipWhenClickOutside();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompFormRatingPosition();
},
formWatchRating() {
const ratings = document.querySelectorAll(‘.tasty-recipes-no-ratings-buttons [data-rating]’);
if ( ratings.length {
event.preventDefault();
this.defaultRating = event.target.closest( ‘.checked’ ).dataset.rating;
this.setCheckedStar( event.target );
this.maybeSendRating( this.defaultRating, event.target );
this.setRatingInForm( this.defaultRating );
} );
}
},
closeTooltipWhenClickOutside() {
window.addEventListener( ‘click’, e => {
// Bailout (don’t remove the tooltip) when the clicked element is a rating star, or it’s the tooltip itself.
if ( e.target.closest( ‘.tasty-recipes-rating’ ) || e.target.classList.contains( ‘tasty-recipes-static-tooltip’ ) ) {
return;
}
window.TastyRecipes.staticTooltip.destroy();
} );
},
setRatingInForm( rating ) {
const ratingInput = document.querySelector( ‘#respond .tasty-recipes-rating[value=”‘ + rating + ‘”]’ );
if ( ! ratingInput ) {
return;
}
ratingInput.click();
},
addBodyClassBasedOnSelectedRating() {
const ratingInputs = document.querySelectorAll( ‘input.tasty-recipes-rating’ );
if ( ! ratingInputs ) {
return;
}
for ( const ratingInput of ratingInputs ) {
ratingInput.addEventListener( ‘click’, currentEvent => {
const selectedRating = currentEvent.target.getAttribute( ‘value’ );
this.handleBodyClassByRating( selectedRating );
this.toggleCommentTextareaRequired( selectedRating );
} );
}
},
handleBodyClassByRating( rating ) {
if ( rating < this.minRating ) {
document.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );
return;
}
document.body.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( rating ) {
const commentTextarea = document.getElementById( 'comment' );
if ( ! commentTextarea ) {
return;
}
if ( rating {
window.TastyRecipes.staticTooltip.changeMessage( response.data.message );
window.TastyRecipes.staticTooltip.show();
this.updateAverageText( response.data, recipeCardElement );
this.maybeFillCommentForm( response.data );
// Hide the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.data, rating );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( data, recipeCardElement ) {
if ( ! data.average ) {
return;
}
this.setRatingPercent( data );
if ( ! data.count ) {
return;
}
const quickLink = document.querySelector( ‘.tasty-recipes-rating-link’ );
if ( quickLink ) {
this.setTextInContainer( quickLink, data );
this.setPartialStar( quickLink );
}
const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
cardStars.dataset.trDefaultRating = data.average;
this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), data );
},
setTextInContainer( container, data ) {
if ( ! container ) {
return;
}
if ( data.label ) {
const ratingLabelElement = container.querySelector( ‘.rating-label’ );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = data.label;
}
return;
}
const averageElement = container.querySelector( ‘.average’ );
if ( averageElement ) {
averageElement.textContent = data.average;
}
const countElement = container.querySelector( ‘.count’ );
if ( countElement ) {
countElement.textContent = data.count;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( data ) {
this.defaultRating = data.average.toFixed( 1 );
const parts = data.average.toFixed( 2 ).toString().split( ‘.’ );
this.currentRatingPercentage = parts[1] ? parts[1] : 100;
if ( this.currentRatingPercentage === ’00’ ) {
this.currentRatingPercentage = 100;
}
},
setCheckedStar( target ) {
const cardRatingContainer = target.closest( ‘.tasty-recipes-ratings-buttons’ );
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( selectedRatingElement ) {
delete selectedRatingElement.dataset.trChecked;
}
const thisStar = target.closest( ‘.tasty-recipes-rating’ );
thisStar.dataset.trChecked = 1;
thisStar.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = 100;
},
maybeFillCommentForm( data ) {
if ( ! data.comment || ! data.comment.content ) {
return;
}
const commentForm = document.querySelector( ‘#commentform’ );
if ( ! commentForm ) {
return;
}
const commentBox = commentForm.querySelector( ‘[name=comment]’ );
if ( ! commentBox || commentBox.value ) {
return;
}
// Add comment details for editing.
commentBox.innerHTML = data.comment.content;
if ( data.comment.name ) {
commentForm.querySelector( ‘[name=author]’ ).value = data.comment.name;
commentForm.querySelector( ‘[name=email]’ ).value = data.comment.email;
}
},
maybeResetTooltip( recipeCardElement, data, rating ) {
if ( this.savingRating === rating ) {
this.resetTooltip( recipeCardElement, data );
}
},
resetTooltip( recipeCardElement, data ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;
// Reset the default rating.
const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
if ( cardRatingContainer ) {
this.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;
this.resetSelectedStar( cardRatingContainer, data );
}
},
resetSelectedStar( cardRatingContainer ) {
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( selectedRatingElement ) {
selectedRatingElement.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = this.currentRatingPercentage;
selectedRatingElement.parentNode.dataset.trChecked = 1;
}
const previousSelectedElement= cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( previousSelectedElement ) {
const currentSelectedRating = previousSelectedElement.querySelector(‘[data-rating]’);
if ( currentSelectedRating !== selectedRatingElement ) {
delete previousSelectedElement.dataset.trChecked;
}
}
},
backwardCompFormRatingPosition() {
const ratingsButtons = document.querySelector( ‘#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons’ );
if ( ! ratingsButtons ) {
return;
}
const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);
if ( ! ratingsButtonsStyles.display.includes( ‘flex’ ) ) {
ratingsButtons.style.direction = ‘rtl’;
}
if ( typeof tastyRecipesRating !== ‘undefined’ ) {
// Select the rating that was previously selected in admin.
ratingsButtons.querySelector( ‘.tasty-recipes-rating[value=”‘ + tastyRecipesRating + ‘”]’ ).checked = true;
}
const ratingSpans = ratingsButtons.querySelectorAll( ‘.tasty-recipes-rating’ );
for (const ratingSpan of ratingSpans) {
ratingSpan.addEventListener( ‘click’, event => {
if ( ratingSpan === event.target ) {
return;
}
ratingSpan.previousElementSibling.click();
} );
}
}
};
(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );
});
The post Easy Homemade Black Forest Cake Recipe – Perfect for Any Occasion appeared first on FOR UR ENERGY RECIPES.