
This chocolate hummus recipe has turn into my most-requested social gathering dip! What sounds uncommon at first turns into pure magic—a wealthy, chocolatey deal with that’s good for dipping every part 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 appeared like a type of bizarre well being meals experiments gone improper. However one chew fully modified my thoughts—it was wealthy, creamy, and satisfying: extra like a fruit dip than hummus! I couldn’t cease fascinated with it, and I knew I needed to recreate it at residence.
After a number of take a look at batches tweaking the sweetness and texture, this chocolate hummus recipe was born. Now it’s turn into one in every of my favourite snacks for events—children love the chocolate taste, adults recognize that it’s more healthy than typical dessert dips, and I really like how easy it’s to make! Over time, it’s turn into a fan favourite recipe. Let’s make it!
Learn a 5 star evaluation
“That is AWESOME! I truly use it to dip grapes and berries in as an alternative choice to consuming ice cream. It’s additionally sooo straightforward and filling. Woo hoo!” -Jamie

Suggestions for making chocolate hummus
This recipe couldn’t be less complicated, however a couple of strategies guarantee the very best outcomes (or leap to the recipe beneath):
1. Put together your elements.
Drain the chickpeas and reserve that treasured liquid (aquafaba) in a measuring cup. This liquid is your secret weapon for reaching the proper creamy consistency.
Professional tip: In case your tahini has separated within the jar, give it a great stir earlier than measuring to make sure a clean 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 perimeters, then style and alter.
3. Alter to your style.
That is the place you make it yours! Add extra maple syrup in case you want it sweeter, or extra aquafaba in order for you it creamier. The ultimate consistency must be clean and spreadable, much like a thick chocolate frosting or nut butter.

Ingredient highlight: tahini
What’s tahini? Tahini is a paste fabricated from sesame seeds, sometimes utilized in Center Japanese or Mediterranean dishes. The elements are merely sesame seeds and salt, making the paste vegan and gluten-free.
The most well-liked use for tahini is traditional hummus, however it’s additionally nice for baking. You probably have tahini left over from making this do-it-yourself hummus recipe, strive our high tahini recipes.
Taste variations
When you grasp the essential chocolate hummus, strive these variations I’ve developed:
- Brownie batter hummus: See our Brownie Batter Hummus recipe.
- Chocolate peanut butter hummus: Substitute 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 standard cocoa for a deeper, richer chocolate taste with much less sweetness.
- Mocha hummus: Add 1 teaspoon of prompt espresso for a delicate espresso word that enhances the chocolate.
Dutch course of cocoa powder is offered 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 much like a fruit dip than traditional hummus. So for dipping, strive fruits, pretzels and candy crackers. Listed below are a couple of concepts:
- Recent fruit: Strawberries, apple slices, pineapple chunks, grapes, and banana slices all pair properly 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 properly.
- Particular events: Strive serving with cubes of angel meals cake or pound cake for an enjoyable dessert unfold.
- Enjoyable presentation: Make fruit skewers for a lovely social gathering presentation that’s straightforward for friends to seize.
Storing leftovers
Retailer in an hermetic container for five to 7 days. The flavors truly 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 social gathering prep since it may be made a number of days upfront. 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.
Simple Chocolate Hummus
This chocolate hummus recipe has turn into my most-requested social gathering dip! What sounds uncommon at first turns into pure magic—a wealthy, chocolatey deal with that’s good for dipping every part from strawberries to pretzels.
- Prep Time: 0 minutes
- Prepare dinner Time: 5 minutes
- Whole Time: 5 minutes
- Yield: 8
- Class: Snack
- Technique: 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 extra 1 to 2 tablespoons aquafaba and puree once more to come back 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.
Diet information calculated primarily based on about 3 tablespoons per serving.
Dutch course of cocoa powder is offered 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.
(operate(){
window.addEventListener( ‘message’, operate( 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.fashion.top = payload.top + ‘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.accommodates( ‘tasty-recipes-scrollto’ ) ) {
return;
}
const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}
e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const ingredient = doc.querySelector( selector );
if ( ! ingredient ) {
return;
}
ingredient.scrollIntoView( { habits: ‘clean’ } );
}
};
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.fashion.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 screen”);
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);
}
};
(operate(callback) {
if (doc.readyState !== “loading”) {
callback();
} else {
doc.addEventListener(“DOMContentLoaded”, callback);
}
})(() => {
window.TastyRecipes.cookMode.init();
});
window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.staticTooltip = {
ingredient: null,
tooltipElement: null,
deleting: false,
init( ingredient ) {
if ( this.deleting ) {
return;
}
this.ingredient = ingredient;
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.ingredient.getBoundingClientRect().high
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().top;
const tooltipLeft = this.ingredient.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.ingredient.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );
this.tooltipElement.setAttribute( ‘fashion’, ‘high:’ + 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 ingredient is a score star, or it is the tooltip itself.
if ( e.goal.closest( ‘.tasty-recipes-rating’ ) || e.goal.classList.accommodates( ‘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 );
// Conceal 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.depend ) {
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( ‘.depend’ );
if ( countElement ) {
countElement.textContent = information.depend;
}
},
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().cut 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.e-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.consists of( ‘flex’ ) ) {
ratingsButtons.fashion.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();
} );
}
}
};
(operate(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 get pleasure from
Listed below are a couple of extra chocolate recipes to strive:





