Sweet Potato Banana Muffins
These gluten-free Sweet Potato Banana Muffins have just four main ingredients and make a great snack for both kids and adults!

*Originally published 2/2013. Updated 2025*
Hi Friends!
These are the very best Sweet Potato Banana Muffins and I developed this recipe way back in 2013. I previously called them Sweet Potato Banana Bites. They’re one of the first homemade snacks I made for all three of my kids when they first started eating solids and they’ve been a favorite each time. Now my kids are 6, 4 and 2 and I still make them several times a month! Watch my younger two make some to see how easy it is.
Sweet Potato Muffins for Babies
All you need are four simple ingredients that you probably already have on hand – sweet potato, banana, peanut butter (or your favorite nut butter) and eggs. Then you can add your favorite mix-ins if you’d like – cinnamon and vanilla, chocolate chips, frozen blueberries etc. The thing I love most is that you don’t really even need to measure. I never do.
I grab a medium-large sweet potato, stab it a few times with a knife and throw it in the microwave for 5 minutes. Once it’s cooked, I slice it open, scoop the insides out into a bowl, add a medium banana and a couple spoonfuls of peanut butter and mash it all up. Mix in two eggs, a few shakes of cinnamon and a handful of chocolate chips and you’re done!
If you leave out the chocolate chips, there’s no added sugar so these moist mini muffins are perfect for baby-led weaning. I served them to my kids starting around 6 months. They’re a great way to introduce peanut butter and/or eggs- two common allergens.
Sweet Potato Recipes For Toddlers – Kid-Friendly Muffins
I always make these as mini muffins which makes them perfect for toddlers. If you don’t have a mini muffin tin, use a regular one but don’t fill more than half full. There’s no baking soda like in most muffins. If you’re making for babyled weaning, I actually prefer a regular muffin tin filled just slightly because it makes them a little wider and flatter, easier for young hands to grab. Baking time should remain about the same.
I find my silicone muffin tin works best. If you use a metal pan, be sure each mini-muffin hole is well greased! I store these in the fridge because they are pretty moist and my kids and I eat them cold at snack time. (If you need them to be nut-free you can try sunflower seed butter.)
What Easy Recipe Mix-ins Can I Add?
Don’t want to use chocolate chips? Try adding raisins or chopped dates. Or mix in some ground flaxseed or hemp hearts.
Want more sweet potato recipes? Here are 20+ Baked Sweet Potato Recipes.
Why You’ll Love These Sweet Potato Banana Muffins

They’re even easy enough for toddlers to make themselves and perfect for getting kids in the kitchen since the recipe is so forgiving. Here’s a video of my oldest making them as a toddler!
Nutritional Benefits of Sweet Potatoes
These muffins are made with sweet potato which means they’re packed with nutrients. Sweet potatoes are a great source of Vitamin A, Vitamin C and manganese. They also provide fiber and antioxidants.
Using sweet potatoes as the base of this recipe keeps them moist and adds natural sweetness along with the mashed banana.
Sweet Potato Bites (Muffins Alternative)
A few notes:
- They’re not super sweet. There’s no added sugar except from the chocolate chips so make sure you use really ripe bananas
- They’re gluten-free and dairy-free (as long as you use dairy-free chocolate chips if needed!
- You can eat them for dessert, for an afternoon snack or before a workout
- The recipe is very forgiving so your measurements don’t have to be exact. I never measure. I just eyeball it.
Sweet Potato Banana Recipes
This is my favorite way to combine sweet potato and banana, but you could also sub banana for maple syrup in my Sweet Potato White Bean Bars or Healthy Sweet Potato Cookies. If you have more bananas to use up, try these Banana Lentil Muffins.
How To Make Sweet Potato Banana Muffins
Here’s how you make them:
Sweet Potato Banana Muffins
These gluten-free Sweet Potato Banana Bites have just four main ingredients and make a great snack for both kids and adults!
- Prep Time: 5 minutes
- Cook Time: 20 minutes
- Total Time: 25 minutes
- Yield: 14-16 mini muffins
Ingredients
- 1/2 c cooked, mashed sweet potato (approx 1 medium)
- 1/2 cup mashed banana (approx 1 medium)
- 1/4 c nut butter
- 2 eggs
- cinnamon, to taste
- Optional mix-ins: dark chocolate chips, fruit, chia seeds, etc
Instructions
- Smash the sweet potato and banana together in a small bowl.
- Add the peanut butter, eggs and cinnamon & mix well.
- Stir in any additional mix-ins and spoon into greased mini muffin tins.
- Bake at 375 degrees for 18 minutes.
window.trCommon={“minRating”:6,”ajaxurl”:”https:\/\/www.theleangreenbean.com\/wp-admin\/admin-ajax.php”,”ratingNonce”:””,”postId”:8182};
window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.smoothScroll = {
init() {
document.addEventListener( ‘click’, ( e ) => {
let anchor = e.target;
if ( anchor.tagName !== ‘A’ ) {
anchor = anchor.closest( ‘a.tasty-recipes-scrollto’ );
}
if ( ! anchor || ! anchor.classList.contains( ‘tasty-recipes-scrollto’ ) ) {
return;
}
const elementHref = anchor.getAttribute( ‘href’ );
if ( ! elementHref ) {
return;
}
e.preventDefault();
this.goToSelector( elementHref );
});
},
goToSelector( selector ) {
const element = document.querySelector( selector );
if ( ! element ) {
return;
}
element.scrollIntoView( { behavior: ‘smooth’ } );
}
};
document.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 = document.querySelectorAll(this.cookModeSelector);
if (cookModes.length > 0) {
for (const cookMode of cookModes) {
if (this.wakeLockApi) {
cookMode.querySelector(‘input[type=”checkbox”]’).addEventListener(“change”, event => {
this.checkboxChange(event.target);
}, false);
} else {
cookMode.style.display = “none”;
}
}
}
},
checkboxChange(checkbox) {
if (checkbox.checked) {
this.lock();
} else {
this.unlock();
}
},
setCheckboxesState(state) {
const checkboxes = document.querySelectorAll(this.cookModeSelector + ‘ input[type=”checkbox”]’);
for (const checkbox of checkboxes) {
checkbox.checked = state;
}
},
async lock() {
try {
this.wakeLock = await this.wakeLockApi.request(“screen”);
this.wakeLock.addEventListener(“release”, () => {
this.wakeLock = false;
this.setCheckboxesState(false);
});
this.setCheckboxesState(true);
} catch (error) {
this.setCheckboxesState(false);
}
},
unlock() {
if (this.wakeLock) {
this.wakeLock.release();
this.wakeLock = false;
}
this.setCheckboxesState(false);
}
};
(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
document.addEventListener(“DOMContentLoaded”, callback);
}
})(() => {
window.TastyRecipes.cookMode.init();
});
window.TastyRecipes = window.TastyRecipes || {};
window.TastyRecipes.staticTooltip = {
element: null,
tooltipElement: null,
deleting: false,
init( element ) {
if ( this.deleting ) {
return;
}
this.element = element;
this.buildElements();
},
destroy() {
if ( ! this.tooltipElement || this.deleting ) {
return;
}
this.deleting = true;
this.tooltipElement.classList.remove( ‘opened’ );
setTimeout( () => {
this.tooltipElement.remove();
this.deleting = false;
}, 500 );
},
buildElements() {
const tooltipElement = document.createElement( ‘div’ );
tooltipElement.classList.add( ‘tasty-recipes-static-tooltip’);
tooltipElement.setAttribute( ‘id’, ‘tasty-recipes-tooltip’ );
const currentTooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
if ( currentTooltipElement ) {
document.body.replaceChild( tooltipElement, currentTooltipElement );
} else {
document.body.appendChild( tooltipElement );
}
this.tooltipElement = document.getElementById( ‘tasty-recipes-tooltip’ );
},
show() {
if ( ! this.tooltipElement ) {
return;
}
const tooltipTop = this.element.getBoundingClientRect().top
+ window.scrollY
– 10 // 10px offset.
– this.tooltipElement.getBoundingClientRect().height;
const tooltipLeft = this.element.getBoundingClientRect().left
– ( this.tooltipElement.getBoundingClientRect().width / 2 )
+ ( this.element.getBoundingClientRect().width / 2 ) – 1;
const posLeft = Math.max( 10, tooltipLeft );
this.maybeRemoveTail( posLeft !== tooltipLeft );
this.tooltipElement.setAttribute( ‘style’, ‘top:’ + 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.remove( ‘tr-hide-tail’ );
}
},
changeMessage( message ) {
if ( ! this.tooltipElement ) {
return;
}
this.tooltipElement.innerHTML = message;
}
};
window.TastyRecipes.ajax = {
sendPostRequest( url, data, success, failure ) {
const xhr = new XMLHttpRequest();
xhr.open( ‘POST’, url, true );
xhr.send( this.preparePostData( data ) );
xhr.onreadystatechange = () => {
if ( 4 !== xhr.readyState ) {
return;
}
if ( xhr.status === 200 ) {
success( JSON.parse( xhr.responseText ) );
return;
}
failure( xhr );
};
xhr.onerror = () => {
failure( xhr );
};
},
preparePostData( data ) {
const formData = new FormData();
for ( const key in data ) {
formData.append( key, data[key] );
}
return formData;
},
};
window.TastyRecipes.ratings = {
defaultRating: 0,
currentRatingPercentage: 100,
savingRating: false,
init( minRating ) {
this.minRating = minRating;
this.formWatchRating();
this.closeTooltipWhenClickOutside();
this.addBodyClassBasedOnSelectedRating();
this.backwardCompFormRatingPosition();
},
formWatchRating() {
const ratings = document.querySelectorAll(‘.tasty-recipes-no-ratings-buttons [data-rating]’);
if ( ratings.length {
event.preventDefault();
this.defaultRating = event.target.closest( ‘.checked’ ).dataset.rating;
this.setCheckedStar( event.target );
this.maybeSendRating( this.defaultRating, event.target );
this.setRatingInForm( this.defaultRating );
} );
}
},
closeTooltipWhenClickOutside() {
window.addEventListener( ‘click’, e => {
// Bailout (don’t remove the tooltip) when the clicked element is a rating star, or it’s the tooltip itself.
if ( e.target.closest( ‘.tasty-recipes-rating’ ) || e.target.classList.contains( ‘tasty-recipes-static-tooltip’ ) ) {
return;
}
window.TastyRecipes.staticTooltip.destroy();
} );
},
setRatingInForm( rating ) {
const ratingInput = document.querySelector( ‘#respond .tasty-recipes-rating[value=”‘ + rating + ‘”]’ );
if ( ! ratingInput ) {
return;
}
ratingInput.click();
},
addBodyClassBasedOnSelectedRating() {
const ratingInputs = document.querySelectorAll( ‘input.tasty-recipes-rating’ );
if ( ! ratingInputs ) {
return;
}
for ( const ratingInput of ratingInputs ) {
ratingInput.addEventListener( ‘click’, currentEvent => {
const selectedRating = currentEvent.target.getAttribute( ‘value’ );
this.handleBodyClassByRating( selectedRating );
this.toggleCommentTextareaRequired( selectedRating );
} );
}
},
handleBodyClassByRating( rating ) {
if ( rating < this.minRating ) {
document.body.classList.remove( 'tasty-recipes-selected-minimum-rating' );
return;
}
document.body.classList.add( 'tasty-recipes-selected-minimum-rating' );
},
toggleCommentTextareaRequired( rating ) {
const commentTextarea = document.getElementById( 'comment' );
if ( ! commentTextarea ) {
return;
}
if ( rating {
window.TastyRecipes.staticTooltip.changeMessage( response.data.message );
window.TastyRecipes.staticTooltip.show();
this.updateAverageText( response.data, recipeCardElement );
this.maybeFillCommentForm( response.data );
// Hide the tooltip after 5 seconds.
setTimeout( () => {
this.maybeResetTooltip( recipeCardElement, response.data, rating );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( data, recipeCardElement ) {
if ( ! data.average ) {
return;
}
this.setRatingPercent( data );
if ( ! data.count ) {
return;
}
const quickLink = document.querySelector( ‘.tasty-recipes-rating-link’ );
if ( quickLink ) {
this.setTextInContainer( quickLink, data );
this.setPartialStar( quickLink );
}
const cardStars = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
cardStars.dataset.trDefaultRating = data.average;
this.setTextInContainer( recipeCardElement.querySelector( ‘.tasty-recipes-rating’ ), data );
},
setTextInContainer( container, data ) {
if ( ! container ) {
return;
}
if ( data.label ) {
const ratingLabelElement = container.querySelector( ‘.rating-label’ );
if ( ratingLabelElement ) {
ratingLabelElement.innerHTML = data.label;
}
return;
}
const averageElement = container.querySelector( ‘.average’ );
if ( averageElement ) {
averageElement.textContent = data.average;
}
const countElement = container.querySelector( ‘.count’ );
if ( countElement ) {
countElement.textContent = data.count;
}
},
setPartialStar( container ) {
const highestStar = container.querySelector( ‘[data-rating=”‘ + Math.ceil( this.defaultRating ) + ‘”]’ );
if ( highestStar ) {
highestStar.dataset.trClip = this.currentRatingPercentage;
}
},
setRatingPercent( data ) {
this.defaultRating = data.average.toFixed( 1 );
const parts = data.average.toFixed( 2 ).toString().split( ‘.’ );
this.currentRatingPercentage = parts[1] ? parts[1] : 100;
if ( this.currentRatingPercentage === ’00’ ) {
this.currentRatingPercentage = 100;
}
},
setCheckedStar( target ) {
const cardRatingContainer = target.closest( ‘.tasty-recipes-ratings-buttons’ );
const selectedRatingElement = cardRatingContainer.querySelector( ‘[data-tr-checked]’ );
if ( selectedRatingElement ) {
delete selectedRatingElement.dataset.trChecked;
}
const thisStar = target.closest( ‘.tasty-recipes-rating’ );
thisStar.dataset.trChecked = 1;
thisStar.querySelector( ‘[data-tr-clip]’ ).dataset.trClip = 100;
},
maybeFillCommentForm( data ) {
if ( ! data.comment || ! data.comment.content ) {
return;
}
const commentForm = document.querySelector( ‘#commentform’ );
if ( ! commentForm ) {
return;
}
const commentBox = commentForm.querySelector( ‘[name=comment]’ );
if ( ! commentBox || commentBox.value ) {
return;
}
// Add comment details for editing.
commentBox.innerHTML = data.comment.content;
if ( data.comment.name ) {
commentForm.querySelector( ‘[name=author]’ ).value = data.comment.name;
commentForm.querySelector( ‘[name=email]’ ).value = data.comment.email;
}
},
maybeResetTooltip( recipeCardElement, data, rating ) {
if ( this.savingRating === rating ) {
this.resetTooltip( recipeCardElement, data );
}
},
resetTooltip( recipeCardElement, data ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;
// Reset the default rating.
const cardRatingContainer = recipeCardElement.querySelector( ‘.tasty-recipes-ratings-buttons’ );
if ( cardRatingContainer ) {
this.defaultRating = ( data && data.average ) ? data.average.toFixed(1) : cardRatingContainer.dataset.trDefaultRating;
cardRatingContainer.dataset.trDefaultRating = this.defaultRating;
this.resetSelectedStar( cardRatingContainer, data );
}
},
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 = document.querySelector( ‘#respond .tasty-recipes-ratings-buttons, #tasty-recipes-comment-rating .tasty-recipes-ratings-buttons’ );
if ( ! ratingsButtons ) {
return;
}
const ratingsButtonsStyles = window.getComputedStyle(ratingsButtons);
if ( ! ratingsButtonsStyles.display.includes( ‘flex’ ) ) {
ratingsButtons.style.direction = ‘rtl’;
}
if ( typeof tastyRecipesRating !== ‘undefined’ ) {
// Select the rating that was previously selected 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’, event => {
if ( ratingSpan === event.target ) {
return;
}
ratingSpan.previousElementSibling.click();
} );
}
}
};
(function(callback) {
if (document.readyState !== “loading”) {
callback();
} else {
window.addEventListener( ‘load’, callback );
}
})(() => {
window.TastyRecipes.ratings.init( window.trCommon ? window.trCommon.minRating : 4 );
});
Feel free to customize by using your favorite nut butter. I’ve made them with peanut butter, almond butter and sunflower seed butter- all delicious.
Sweet Potato Banana Muffins FAQs
Can I use canned sweet potato instead of fresh in muffins?
Yes! Canned sweet potato can easily be used in this recipe. Feel free to substitute if needed.
How do I make gluten-free sweet potato banana muffins?
These muffins are naturally gluten-free since none of the 4 main ingredients contain gluten.
What can I use instead of eggs to make vegan sweet potato banana muffins?
I have made this recipe using applesauce to replace the two eggs but it makes the muffins almost overly moist and dense. My suggestion would be to replace with 1/4 cup applesauce and one flax egg.
How should I store sweet potato banana muffins to keep them fresh?
You can store these muffins in a container on the counter for a day or two. After that I would move them to the fridge to keep them from spoiling since they are so moist.
Can I bake this sweet potato banana muffin recipe as a loaf?
I wouldn’t recommend it. There’s no flour in this recipe and no baking soda to provide lift and this would result in a very dense flat loaf that might have trouble cooking all the way through.
Can I freeze sweet potato banana muffins and how do I thaw them?
Yes. Cool muffins completely and then transfer to a Ziploc or freezer-safe bag and freeze. To thaw simply transfer to the counter!
What’s a good substitute for bananas in sweet potato muffins?
Try subbing 1/4 cup applesauce for the banana if needed.
Sweet Potato Banana Muffins – No Added Sugar

You can also mix-in things like chia seeds or fruit instead of chocolate chips- I love mixing in frozen blueberries or fresh cranberries!

Healthy Muffins
And If you’re looking for something like this that’s a little bit sweeter, you should definitely try my Healthy Brownie Bites! With just two extra ingredients, I transformed my sweet potato bites into a healthy, bite-sized chocolate dessert!
In the mood for more muffins? Try:

Looking for more healthy snack ideas? Check out some of my favorites:
See all my snack recipes here.
Enjoy!
–Lindsay–