23.2 C
New York
Wednesday, October 1, 2025

Pumpkin Protein Balls


These pumpkin protein balls mix cozy spices with healthful components for the proper fall vitality chunk. Prepared in quarter-hour with no baking required!

Pumpkin protein balls

The opposite day, I had some leftover pumpkin puree from making my well-known pumpkin bars for a fall celebration. I used to be recent out of my oatmeal protein bars, so I made a decision to make a fall spin. Fortunate for me, the experiment become my favourite new wholesome snack recipe!

These pumpkin protein bars are straightforward to make and style fantastically pumpkin spiced. Even higher, they’ve bought 5 grams protein per ball, which is respectable for a small chunk. They’re an ideal fall appetizer or snack and take solely quarter-hour to make!

5 star reader assessment

⭐⭐⭐⭐⭐ “I simply made these protein balls. YUM! These are very straightforward to make and an effective way to make use of up a few of your leftover canned pumpkin.” -Tanvee

Why these pumpkin protein balls work

I’ve examined dozens of vitality bars and vitality ball recipes through the years, particularly after I made a decision to cease shopping for store-bought. This pumpkin-spiced spin on vitality balls is the proper stability for me: filled with wholesome components and engaging sufficient to fulfill my snack craving.

Additionally they come collectively in a short time within the meals processor, are straightforward to retailer, and easy to seize on the go.

Pumpkin puree

Important components

Each ingredient in these protein balls serves a goal past simply taste:

  • Almond flour: Almond flour provides protein and wholesome fat whereas preserving these naturally gluten-free. If you happen to like making almond flour pancakes, you most likely have already got some available.
  • Medjool dates: I at all times use Medjool dates: make certain to keep away from Deglet Noor dates! They’re bigger, softer, and sweeter, making the proper texture.
  • Pumpkin puree: 1 / 4 cup would possibly look like a small quantity, nevertheless it’s simply sufficient so as to add moisture and that delicate pumpkin taste with out including bitterness.
  • Protein Powder: I like to recommend including it right here: it provides simply the appropriate sweetness to this recipe.

Professional ideas for pumpkin protein balls

Making these couldn’t be less complicated, however a couple of approach ideas guarantee perfection:

  1. Prep your dates correctly: Be sure to take away all pits! It sounds foolish, however I nearly ruined my meals processor as soon as by lacking a pit.
  2. Course of in levels: First, mix the components with out oats. Then add the oats: it provides a pleasant look to those protein balls.
  3. Take a look at the feel: The dough ought to stick collectively when squeezed. Too dry? Add water by the teaspoon.
  4. Squeeze, then roll: Use about 2 tablespoons of combination per ball. Squeeze it in your palm first to compress, then roll between your fingers (this prevents it from breaking up!).

Serving recommendations

Whereas these pumpkin protein balls are excellent on their very own, listed here are my favourite methods to take pleasure in them:

  • Morning companion: Two balls together with your morning espresso drink is a protein-packed snack
  • Lunchbox addition: Pack in your lunch: or for teenagers!
  • Pre-workout gasoline: Eat half-hour earlier than train for sustained vitality
  • Afternoon snack: So significantly better than a number of afternoon treats you would possibly crave
  • Dessert: Serve after dinner whenever you need one thing candy however mild (my youngsters truly love these)
  • Social gathering platter: Prepare on a fall dessert board with straightforward stuffed dates and apple dip or pumpkin dip

Storage and make-ahead ideas

Retailer these pumpkin protein balls in an hermetic container for as much as 5 days. I desire this for softer texture. Or, they’ll last as long as 10 days within the fridge. They agency up significantly when chilly, so allow them to sit at room temperature earlier than serving.

I’ve not tried them frozen, however they need to additionally work frozen for as much as 3 months.

Dietary notes

These pumpkin protein balls are vegetarian, vegan, plant-based, gluten-free, and dairy-free.

Print

Pumpkin Protein Balls

Pumpkin protein balls

const share_pin_buttons = doc.getElementsByClassName( ‘share-pin button’ );
if ( share_pin_buttons ) {
for ( let share_key = 0; share_key {
e.stopPropagation();
window.open(e.goal.dataset.href,’targetWindow’,’toolbar=no,location=no,standing=no,menubar=no,scrollbars=sure,resizable=sure,width=500,top=500′);
return false;
} );
}
}

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

No opinions

These pumpkin protein balls mix cozy spices with healthful components for the proper fall-inspired vitality chunk. Prepared in quarter-hour with no baking required!

Components

  • 1 cup almond flour
  • 1 cup roasted peanuts
  • 12 Medjool dates, pitted
  • ¼ cup pumpkin puree
  • 1 tablespoon maple syrup 
  • ½ teaspoon vanilla extract
  • 1½ teaspoons floor cinnamon 
  • 1½ teaspoons pumpkin pie spice
  • ⅛ teaspoon kosher salt
  • 1 cup Previous Long-established rolled oats
  • ¼ cup plain or vanilla protein powder (non-compulsory however really helpful)

Directions

  1. In a big meals processor, mix the almond flour, peanuts, dates, pumpkin puree, maple syrup, vanilla, cinnamon, pumpkin pie spice, and salt. Mix till totally mixed. 
  2. Add the oats and protein powder and mix once more for a number of seconds till it comes right into a dough with no seen date chunks that sticks collectively whenever you squeeze it. (If you happen to desire not utilizing protein powder, style and add just a little extra maple syrup to regulate the sweetness stage. If the dough could be very dry, add water by the teaspoon and mix till the dough comes collectively.)
  3. Take away 2 tablespoons of dough at a time, squeeze it collectively, and roll it right into a ball. Retailer at room temperature for five days or refrigerated as much as 10 days. 

(perform(){
window.addEventListener( ‘message’, perform( occasion ){
if ( ( ‘https://nutrifox.com’ !== occasion.origin && ‘https://nutrifox.check’ !== occasion.origin ) ||
typeof occasion.knowledge !== ‘string’ ) {
return;
}
var payload = JSON.parse( occasion.knowledge );
change ( payload.occasion ) {
case ‘setHeight’:
var iframe = doc.getElementById( ‘nutrifox-label-‘ + payload.recipeId );
iframe.type.top = payload.top + ‘px’;
break;
}
} );
}());

Did you’re keen on this recipe?

Get our free publication with all of our greatest recipes!

window.trCommon={“minRating”:6,”ajaxurl”:”https://www.acouplecooks.com/wp-admin/admin-ajax.php”,”ratingNonce”:””,”postId”:172954};
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.comprises( ‘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( { conduct: ‘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.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() {
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);
}
};

(perform(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( ‘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.ranking;
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 ranking star, or it is the tooltip itself.
if ( e.goal.closest( ‘.tasty-recipes-rating’ ) || e.goal.classList.comprises( ‘tasty-recipes-static-tooltip’ ) ) {
return;
}

window.TastyRecipes.staticTooltip.destroy();
} );
},
setRatingInForm( ranking ) {
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( ranking ) {
if ( ranking < this.minRating ) {
doc.physique.classList.take away( 'tasty-recipes-selected-minimum-rating' );
return;
}
doc.physique.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( ranking ) {
const commentTextarea = doc.getElementById( 'remark' );
if ( ! commentTextarea ) {
return;
}

if ( ranking {
window.TastyRecipes.staticTooltip.changeMessage( response.knowledge.message );
window.TastyRecipes.staticTooltip.present();
this.updateAverageText( response.knowledge, recipeCardElement );
this.maybeFillCommentForm( response.knowledge );

// Conceal the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.knowledge, ranking );
}, 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 components = knowledge.common.toFixed( 2 ).toString().break up( ‘.’ );
this.currentRatingPercentage = components[1] ? components[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 enhancing.
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.e-mail;
}
},
maybeResetTooltip( recipeCardElement, knowledge, ranking ) {
if ( this.savingRating === ranking ) {
this.resetTooltip( recipeCardElement, knowledge );
}
},
resetTooltip( recipeCardElement, knowledge ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;

// Reset the default ranking.
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 ranking 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.rankings.init( window.trCommon ? window.trCommon.minRating : 4 );
});

Extra vitality ball and bar recipes

Listed here are a couple of extra protein bar and vitality ball recipes you’ll love:

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles