This chocolate hummus recipe has turn out to be my most-requested occasion dip! What sounds uncommon at first turns into pure magic—a wealthy, chocolatey deal with that’s good for dipping all the pieces from strawberries to pretzels.
Once 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 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 about it, and I knew I needed to recreate it at dwelling.
After a number of take a look at batches tweaking the sweetness and texture, this chocolate hummus recipe was born. Now it’s turn out to be considered one of my favourite snacks for events—youngsters 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! Through the years, it’s turn out to be a fan favourite recipe. Let’s make it!
Learn a 5 star assessment
“That is AWESOME! I really use it to dip grapes and berries in as a substitute for consuming ice cream. It’s additionally sooo simple and filling. Woo hoo!” -Jamie

Suggestions for making chocolate hummus
This recipe couldn’t be less complicated, however a number of methods guarantee the very best outcomes (or leap to the recipe beneath):
1. Put together your substances.
Drain the chickpeas and reserve that valuable liquid (aquafaba) in a measuring cup. This liquid is your secret weapon for attaining the proper creamy consistency.
Professional tip: In case your tahini has separated within the jar, give it an excellent 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 if you happen to want it sweeter, or extra aquafaba if you need it creamier. The ultimate consistency must be easy and spreadable, much like a thick chocolate frosting or nut butter.

Ingredient highlight: tahini
What’s tahini? Tahini is a paste made from sesame seeds, sometimes 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 high 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: Change 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 immediate espresso for a delicate espresso be aware 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 here are a number of 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: Strive serving with cubes of angel meals cake or pound cake for an enjoyable dessert unfold.
- Enjoyable presentation: Make fruit skewers for a pretty occasion presentation that’s simple 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 could thicken barely when chilled. Merely let it come to room temperature for quarter-hour earlier than serving.
That is good for occasion prep since it may be made a number of days upfront. Simply put together your dippers recent 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 out to be my most-requested occasion dip! What sounds uncommon at first turns into pure magic—a wealthy, chocolatey deal with that’s good for dipping all the pieces from strawberries to pretzels.
- Prep Time: 0 minutes
- Cook dinner Time: 5 minutes
- Whole Time: 5 minutes
- Yield: 8
- Class: Snack
- Methodology: Meals Processor
- Delicacies: American
Components
- 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 mandatory, 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 deal with reader feedback.
Diet data 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.knowledge !== ‘string’ ) {
return;
}
var payload = JSON.parse( occasion.knowledge );
swap ( payload.occasion ) {
case ‘setHeight’:
var iframe = doc.getElementById( ‘nutrifox-label-‘ + payload.recipeId );
iframe.type.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.accommodates( ‘tasty-recipes-scrollto’ ) ) {
return;
}
const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}
e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const aspect = doc.querySelector( selector );
if ( ! aspect ) {
return;
}
aspect.scrollIntoView( { habits: ‘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.type.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 = {
aspect: null,
tooltipElement: null,
deleting: false,
init( aspect ) {
if ( this.deleting ) {
return;
}
this.aspect = aspect;
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.aspect.getBoundingClientRect().high
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().peak;
const tooltipLeft = this.aspect.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.aspect.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );
this.tooltipElement.setAttribute( ‘type’, ‘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, knowledge, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( ‘POST’, url, true );
xhr.ship( this.preparePostData( knowledge ) );
xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.standing === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}
failure( xhr );
};
xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( knowledge ) {
const formData = new FormData();
for ( const key in knowledge ) {
formData.append( key, knowledge[key] );
}
return formData;
},
};
window.TastyRecipes.rankings = {
defaultRating: 0,
currentRatingPercentage: 100,
savingRating: false,
init( minRating ) {
this.minRating = minRating;
this.formWatchRating();
this.closeTooltipWhenClickOutside();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompFormRatingPosition();
},
formWatchRating() {
const rankings = doc.querySelectorAll(‘.tasty-recipes-no-ratings-buttons [data-rating]’);
if ( rankings.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 aspect 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.knowledge.message );
window.TastyRecipes.staticTooltip.present();
this.updateAverageText( response.knowledge, recipeCardElement );
this.maybeFillCommentForm( response.knowledge );
// Cover the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.knowledge, score );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( knowledge, recipeCardElement ) {
if ( ! knowledge.common ) {
return;
}
this.setRatingPercent( knowledge );
if ( ! knowledge.depend ) {
return;
}
const quickLink = doc.querySelector( ‘.tasty-recipes-rating-link’ );
if ( quickLink ) {
this.setTextInContainer( quickLink, knowledge );
this.setPartialStar( quickLink );
}
const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
cardStars.dataset.trDefaultRating = knowledge.common;
this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), knowledge );
},
setTextInContainer( container, knowledge ) {
if ( ! container ) {
return;
}
if ( knowledge.label ) {
const ratingLabelElement = container.querySelector( ‘.rating-label’ );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = knowledge.label;
}
return;
}
const averageElement = container.querySelector( ‘.common’ );
if ( averageElement ) {
averageElement.textContent = knowledge.common;
}
const countElement = container.querySelector( ‘.depend’ );
if ( countElement ) {
countElement.textContent = knowledge.depend;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( knowledge ) {
this.defaultRating = knowledge.common.toFixed( 1 );
const elements = knowledge.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( knowledge ) {
if ( ! knowledge.remark || ! knowledge.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 modifying.
commentBox.innerHTML = knowledge.remark.content material;
if ( knowledge.remark.identify ) {
commentForm.querySelector( ‘[name=author]’ ).worth = knowledge.remark.identify;
commentForm.querySelector( ‘[name=email]’ ).worth = knowledge.remark.electronic mail;
}
},
maybeResetTooltip( recipeCardElement, knowledge, score ) {
if ( this.savingRating === score ) {
this.resetTooltip( recipeCardElement, knowledge );
}
},
resetTooltip( recipeCardElement, knowledge ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;
// Reset the default score.
const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
if ( cardRatingContainer ) {
this.defaultRating = ( knowledge && knowledge.common ) ? knowledge.common.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;
this.resetSelectedStar( cardRatingContainer, knowledge );
}
},
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.type.route = ‘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.rankings.init( window.trCommon ? window.trCommon.minRating : 4 );
});
Different wholesome chocolate recipes you would possibly take pleasure in
Listed here are a number of extra chocolate recipes to strive:




