This chocolate hummus recipe has change into my most-requested get together dip! What sounds uncommon at first turns into pure magic—a wealthy, chocolatey deal with that’s excellent for dipping all the things 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 mistaken. However one chunk utterly modified my thoughts—it was wealthy, creamy, and satisfying: extra like a fruit dip than hummus! I couldn’t cease interested by it, and I knew I needed to recreate it at residence.
After a number of check batches tweaking the sweetness and texture, this chocolate hummus recipe was born. Now it’s change into one in all my favourite snacks for events—youngsters love the chocolate taste, adults admire that it’s more healthy than typical dessert dips, and I like how easy it’s to make! Over time, it’s change into a fan favourite recipe. Let’s make it!
Learn a 5 star evaluate
“That is AWESOME! I truly 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

Suggestions for making chocolate hummus
This recipe couldn’t be less complicated, however a number of methods guarantee the most effective outcomes (or soar 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 attaining the right 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 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 in order for you it creamier. The ultimate consistency ought to be clean and spreadable, just 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 substances are merely sesame seeds and salt, making the paste vegan and gluten-free.
The preferred use for tahini is basic hummus, nevertheless it’s additionally nice for baking. When you have tahini left over from making this do-it-yourself hummus recipe, attempt our high tahini recipes.
Taste variations
When you grasp the essential chocolate hummus, attempt 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 instantaneous espresso for a refined espresso notice that enhances the chocolate.
Dutch course of cocoa powder is on the market 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 basic hummus. So for dipping, attempt fruits, pretzels and candy crackers. Listed below are a number of concepts:
- Recent 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 pretty get together presentation that’s straightforward for company 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 excellent for get together 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 get together dip! What sounds uncommon at first turns into pure magic—a wealthy, chocolatey deal with that’s excellent for dipping all the things from strawberries to pretzels.
- Prep Time: 0 minutes
- Prepare dinner Time: 5 minutes
- Complete 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 couple 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 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 deal with reader feedback.
Diet information calculated primarily based on about 3 tablespoons per serving.
Dutch course of cocoa powder is on the market 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.check’ !== occasion.origin ) ||
typeof occasion.information !== ‘string’ ) {
return;
}
var payload = JSON.parse( occasion.information );
swap ( 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.incorporates( ‘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() {
attempt {
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.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 );
// Disguise 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().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 modifying.
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.consists of( ‘flex’ ) ) {
ratingsButtons.fashion.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.scores.init( window.trCommon ? window.trCommon.minRating : 4 );
});
Different wholesome chocolate recipes you would possibly take pleasure in
Listed below are a number of extra chocolate recipes to attempt: