This chocolate hummus recipe has change into my most-requested celebration dip! What sounds uncommon at first turns into pure magic—a wealthy, chocolatey deal with that’s good for dipping the whole lot from strawberries to pretzels.

After I first heard about chocolate hummus years in the past, I used to be each skeptical…and curious. Chickpeas and chocolate? It gave the impression of a type of bizarre well being meals experiments gone flawed. However one chew utterly modified my thoughts—it was wealthy, creamy, and satisfying: extra like a fruit dip than hummus! I couldn’t cease serious about it, and I knew I needed to recreate it at house.
After a number of take a look at batches tweaking the sweetness and texture, this chocolate hummus recipe was born. Now it’s change into considered one of my favourite snacks for events—children love the chocolate taste, adults admire that it’s more healthy than typical dessert dips, and I like how easy it’s to make! Through the years, it’s change into a fan favourite recipe. Let’s make it!
Learn a 5 star evaluate
“That is AWESOME! I really use it to dip grapes and berries in as a substitute for consuming ice cream. It’s additionally sooo straightforward and filling. Woo hoo!” -Jamie

Ideas for making chocolate hummus
This recipe couldn’t be easier, however just a few strategies guarantee one of the best outcomes (or bounce to the recipe under):
1. Put together your substances.
Drain the chickpeas and reserve that treasured liquid (aquafaba) in a measuring cup. This liquid is your secret weapon for reaching the right creamy consistency.
Professional tip: In case your tahini has separated within the jar, give it a very good stir earlier than measuring to make sure a easy mix.
2. Mix to perfection.
Add chickpeas, tahini, maple syrup, cocoa powder, vanilla, salt, and some tablespoons of aquafaba to your meals processor. Mix for 30 seconds, scrape down the edges, then style and alter.
3. Regulate to your style.
That is the place you make it yours! Add extra maple syrup should you favor it sweeter, or extra aquafaba if you need it creamier. The ultimate consistency ought to be easy and spreadable, just like a thick chocolate frosting or nut butter.

Ingredient highlight: tahini
What’s tahini? Tahini is a paste made from sesame seeds, usually utilized in Center Japanese or Mediterranean dishes. The substances are merely sesame seeds and salt, making the paste vegan and gluten-free.
The most well-liked use for tahini is traditional hummus, but it surely’s additionally nice for baking. If in case you have tahini left over from making this do-it-yourself hummus recipe, strive our prime tahini recipes.
Taste variations
When you grasp the fundamental chocolate hummus, strive these variations I’ve developed:
- Brownie batter hummus: See our Brownie Batter Hummus recipe.
- Chocolate peanut butter hummus: Exchange tahini with pure peanut butter for a taste mixture that tastes like a wholesome Reese’s cup.
- Mexican chocolate hummus: Add ⅛ teaspoon cinnamon and a pinch of chili powder for warming spice notes.
- Darkish chocolate hummus: Use Dutch course of cocoa powder as an alternative of normal cocoa for a deeper, richer chocolate taste with much less sweetness.
- Mocha hummus: Add 1 teaspoon of prompt espresso for a delicate espresso be aware that enhances the chocolate.
Dutch course of cocoa powder is obtainable within the baking aisle at your native grocery. Or you should buy it on-line: our favourite manufacturers are Hershey’s Particular Darkish Cocoa Powder or Ghirardelli Dutch Course of Cocoa Powder.
Methods to serve chocolate hummus
Chocolate hummus is extra just like a fruit dip than traditional hummus. So for dipping, strive fruits, pretzels and candy crackers. Listed here are just a few concepts:
- Contemporary fruit: Strawberries, apple slices, pineapple chunks, grapes, and banana slices all pair effectively with the wealthy chocolate taste.
- Candy and salty choices: Pretzels are my private favourite—that sweet-salty mixture is addictive! Graham crackers and vanilla wafers additionally work effectively.
- Particular events: Attempt serving with cubes of angel meals cake or pound cake for an enjoyable dessert unfold.
- Enjoyable presentation: Make fruit skewers for a sexy celebration presentation that’s straightforward for company to seize.
Storing leftovers
Retailer in an hermetic container for five to 7 days. The flavors really enhance after a day as they meld collectively. The hummus might thicken barely when chilled. Merely let it come to room temperature for quarter-hour earlier than serving.
That is good for celebration prep since it may be made a number of days prematurely. Simply put together your dippers contemporary on the day of serving.
Dietary notes
This chocolate hummus recipe is vegetarian, vegan, gluten-free, plant-based, dairy-free, naturally candy, and refined sugar free.
Straightforward Chocolate Hummus
This chocolate hummus recipe has change into my most-requested celebration dip! What sounds uncommon at first turns into pure magic—a wealthy, chocolatey deal with that’s good for dipping the whole lot from strawberries to pretzels.
- Prep Time: 0 minutes
- Cook dinner Time: 5 minutes
- Complete Time: 5 minutes
- Yield: 8
- Class: Snack
- Methodology: Meals Processor
- Delicacies: American
Elements
- 15-ounce can chickpeas (1 ½ cups cooked)
- ¼ cup tahini*
- 1/3 to 1/2 cup maple syrup or agave syrup
- ⅓ cup cocoa powder (Dutch course of / darkish chocolate cocoa powder, if desired)
- 1 teaspoon vanilla extract
- ¼ teaspoon kosher salt
Directions
- Drain the chickpeas right into a glass measuring cup and reserve the can liquid (aquafaba).
- To the bowl of a meals processor, add the chickpeas, tahini, maple or agave syrup, cocoa powder, vanilla, kosher salt, and a pair of tablespoons aquafaba. Puree for 30 seconds, then scrape down the bowl. Style; if essential, add a bit extra syrup to sweeten the style even additional. Add further 1 to 2 tablespoons aquafaba and puree once more to return to a creamy consistency. Retailer refrigerated for five to 7 days.
- Serve with pretzels, pineapple, inexperienced apple slices, and strawberries.
Notes
*Or, use peanut butter for a enjoyable variation. Recipe up to date 5/30/25 to replace sweetener and cocoa powder portions to handle reader feedback.
Vitamin information calculated based mostly on about 3 tablespoons per serving.
Dutch course of cocoa powder is obtainable within the baking aisle at your native grocery. Or you should buy it on-line: our favourite manufacturers are Hershey’s Particular Darkish Cocoa Powder or Ghirardelli Dutch Course of Cocoa Powder.
(perform(){
window.addEventListener( ‘message’, perform( occasion ){
if ( ( ‘https://nutrifox.com’ !== occasion.origin && ‘https://nutrifox.take a look at’ !== occasion.origin ) ||
typeof occasion.information !== ‘string’ ) {
return;
}
var payload = JSON.parse( occasion.information );
change ( payload.occasion ) {
case ‘setHeight’:
var iframe = doc.getElementById( ‘nutrifox-label-‘ + payload.recipeId );
iframe.model.peak = payload.peak + ‘px’;
break;
}
} );
}());
window.trCommon={“minRating”:6,”ajaxurl”:”https://www.acouplecooks.com/wp-admin/admin-ajax.php”,”ratingNonce”:””,”postId”:13189};
window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.smoothScroll = {
init() {
doc.addEventListener( ‘click on’, ( e ) => {
let anchor = e.goal;
if ( anchor.tagName !== ‘A’ ) {
anchor = anchor.closest( ‘a.tasty-recipes-scrollto’ );
}
if ( ! anchor || ! anchor.classList.incorporates( ‘tasty-recipes-scrollto’ ) ) {
return;
}
const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}
e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const component = doc.querySelector( selector );
if ( ! component ) {
return;
}
component.scrollIntoView( { conduct: ‘easy’ } );
}
};
doc.addEventListener(
‘DOMContentLoaded’,
() => window.TastyRecipes.smoothScroll.init()
);
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 = doc.querySelectorAll(this.cookModeSelector);
if (cookModes.size > 0) {
for (const cookMode of cookModes) {
if (this.wakeLockApi) {
cookMode.querySelector(‘enter[type=”checkbox”]’).addEventListener(“change”, occasion => {
this.checkboxChange(occasion.goal);
}, false);
} else {
cookMode.model.show = “none”;
}
}
}
},
checkboxChange(checkbox) {
if (checkbox.checked) {
this.lock();
} else {
this.unlock();
}
},
setCheckboxesState(state) {
const checkboxes = doc.querySelectorAll(this.cookModeSelector + ‘ enter[type=”checkbox”]’);
for (const checkbox of checkboxes) {
checkbox.checked = state;
}
},
async lock() {
strive {
this.wakeLock = await this.wakeLockApi.request(“display”);
this.wakeLock.addEventListener(“launch”, () => {
this.wakeLock = false;
this.setCheckboxesState(false);
});
this.setCheckboxesState(true);
} catch (error) {
this.setCheckboxesState(false);
}
},
unlock() {
if (this.wakeLock) {
this.wakeLock.launch();
this.wakeLock = false;
}
this.setCheckboxesState(false);
}
};
(perform(callback) {
if (doc.readyState !== “loading”) {
callback();
} else {
doc.addEventListener(“DOMContentLoaded”, callback);
}
})(() => {
window.TastyRecipes.cookMode.init();
});
window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.staticTooltip = {
component: null,
tooltipElement: null,
deleting: false,
init( component ) {
if ( this.deleting ) {
return;
}
this.component = component;
this.buildElements();
},
destroy() {
if ( ! this.tooltipElement || this.deleting ) {
return;
}
this.deleting = true;
this.tooltipElement.classList.take away( ‘opened’ );
setTimeout( () => {
this.tooltipElement.take away();
this.deleting = false;
}, 500 );
},
buildElements() {
const tooltipElement = doc.createElement( ‘div’ );
tooltipElement.classList.add( ‘tasty-recipes-static-tooltip’);
tooltipElement.setAttribute( ‘id’, ‘tasty-recipes-tooltip’ );
const currentTooltipElement = doc.getElementById( ‘tasty-recipes-tooltip’ );
if ( currentTooltipElement ) {
doc.physique.replaceChild( tooltipElement, currentTooltipElement );
} else {
doc.physique.appendChild( tooltipElement );
}
this.tooltipElement = doc.getElementById( ‘tasty-recipes-tooltip’ );
},
present() {
if ( ! this.tooltipElement ) {
return;
}
const tooltipTop = this.component.getBoundingClientRect().prime
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().peak;
const tooltipLeft = this.component.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.component.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );
this.tooltipElement.setAttribute( ‘model’, ‘prime:’ + 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.take away( ‘tr-hide-tail’ );
}
},
changeMessage( message ) {
if ( ! this.tooltipElement ) {
return;
}
this.tooltipElement.innerHTML = message;
}
};
window.TastyRecipes.ajax = {
sendPostRequest( url, information, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( ‘POST’, url, true );
xhr.ship( this.preparePostData( information ) );
xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.standing === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}
failure( xhr );
};
xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( information ) {
const formData = new FormData();
for ( const key in information ) {
formData.append( key, information[key] );
}
return formData;
},
};
window.TastyRecipes.scores = {
defaultRating: 0,
currentRatingPercentage: 100,
savingRating: false,
init( minRating ) {
this.minRating = minRating;
this.formWatchRating();
this.closeTooltipWhenClickOutside();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompFormRatingPosition();
},
formWatchRating() {
const scores = doc.querySelectorAll(‘.tasty-recipes-no-ratings-buttons [data-rating]’);
if ( scores.size {
occasion.preventDefault();
this.defaultRating = occasion.goal.closest( ‘.checked’ ).dataset.score;
this.setCheckedStar( occasion.goal );
this.maybeSendRating( this.defaultRating, occasion.goal );
this.setRatingInForm( this.defaultRating );
} );
}
},
closeTooltipWhenClickOutside() {
window.addEventListener( ‘click on’, e => {
// Bailout (do not take away the tooltip) when the clicked component is a score star, or it is the tooltip itself.
if ( e.goal.closest( ‘.tasty-recipes-rating’ ) || e.goal.classList.incorporates( ‘tasty-recipes-static-tooltip’ ) ) {
return;
}
window.TastyRecipes.staticTooltip.destroy();
} );
},
setRatingInForm( score ) {
const ratingInput = doc.querySelector( ‘#reply .tasty-recipes-rating[value=”‘ + rating + ‘”]’ );
if ( ! ratingInput ) {
return;
}
ratingInput.click on();
},
addBodyClassBasedOnSelectedRating() {
const ratingInputs = doc.querySelectorAll( ‘enter.tasty-recipes-rating’ );
if ( ! ratingInputs ) {
return;
}
for ( const ratingInput of ratingInputs ) {
ratingInput.addEventListener( ‘click on’, currentEvent => {
const selectedRating = currentEvent.goal.getAttribute( ‘worth’ );
this.handleBodyClassByRating( selectedRating );
this.toggleCommentTextareaRequired( selectedRating );
} );
}
},
handleBodyClassByRating( score ) {
if ( score < this.minRating ) {
doc.physique.classList.take away( 'tasty-recipes-selected-minimum-rating' );
return;
}
doc.physique.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( score ) {
const commentTextarea = doc.getElementById( 'remark' );
if ( ! commentTextarea ) {
return;
}
if ( score {
window.TastyRecipes.staticTooltip.changeMessage( response.information.message );
window.TastyRecipes.staticTooltip.present();
this.updateAverageText( response.information, recipeCardElement );
this.maybeFillCommentForm( response.information );
// Cover the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.information, score );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( information, recipeCardElement ) {
if ( ! information.common ) {
return;
}
this.setRatingPercent( information );
if ( ! information.rely ) {
return;
}
const quickLink = doc.querySelector( ‘.tasty-recipes-rating-link’ );
if ( quickLink ) {
this.setTextInContainer( quickLink, information );
this.setPartialStar( quickLink );
}
const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
cardStars.dataset.trDefaultRating = information.common;
this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), information );
},
setTextInContainer( container, information ) {
if ( ! container ) {
return;
}
if ( information.label ) {
const ratingLabelElement = container.querySelector( ‘.rating-label’ );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = information.label;
}
return;
}
const averageElement = container.querySelector( ‘.common’ );
if ( averageElement ) {
averageElement.textContent = information.common;
}
const countElement = container.querySelector( ‘.rely’ );
if ( countElement ) {
countElement.textContent = information.rely;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( information ) {
this.defaultRating = information.common.toFixed( 1 );
const elements = information.common.toFixed( 2 ).toString().break up( ‘.’ );
this.currentRatingPercentage = elements[1] ? elements[1] : 100;
if ( this.currentRatingPercentage === ’00’ ) {
this.currentRatingPercentage = 100;
}
},
setCheckedStar( goal ) {
const cardRatingContainer = goal.closest( ‘.tasty-recipes-ratings-buttons’ );
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( selectedRatingElement ) {
delete selectedRatingElement.dataset.trChecked;
}
const thisStar = goal.closest( ‘.tasty-recipes-rating’ );
thisStar.dataset.trChecked = 1;
thisStar.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = 100;
},
maybeFillCommentForm( information ) {
if ( ! information.remark || ! information.remark.content material ) {
return;
}
const commentForm = doc.querySelector( ‘#commentform’ );
if ( ! commentForm ) {
return;
}
const commentBox = commentForm.querySelector( ‘[name=comment]’ );
if ( ! commentBox || commentBox.worth ) {
return;
}
// Add remark particulars for enhancing.
commentBox.innerHTML = information.remark.content material;
if ( information.remark.title ) {
commentForm.querySelector( ‘[name=author]’ ).worth = information.remark.title;
commentForm.querySelector( ‘[name=email]’ ).worth = information.remark.electronic mail;
}
},
maybeResetTooltip( recipeCardElement, information, score ) {
if ( this.savingRating === score ) {
this.resetTooltip( recipeCardElement, information );
}
},
resetTooltip( recipeCardElement, information ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;
// Reset the default score.
const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
if ( cardRatingContainer ) {
this.defaultRating = ( information && information.common ) ? information.common.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;
this.resetSelectedStar( cardRatingContainer, information );
}
},
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 = doc.querySelector( ‘#reply .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons’ );
if ( ! ratingsButtons ) {
return;
}
const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);
if ( ! ratingsButtonsStyles.show.contains( ‘flex’ ) ) {
ratingsButtons.model.path = ‘rtl’;
}
if ( typeof tastyRecipesRating !== ‘undefined’ ) {
// Choose the score that was beforehand chosen 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 on’, occasion => {
if ( ratingSpan === occasion.goal ) {
return;
}
ratingSpan.previousElementSibling.click on();
} );
}
}
};
(perform(callback) {
if (doc.readyState !== “loading”) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.scores.init( window.trCommon ? window.trCommon.minRating : 4 );
});
Different wholesome chocolate recipes you would possibly take pleasure in
Listed here are just a few extra chocolate recipes to strive: