12.3 C
New York
Tuesday, November 25, 2025

Straightforward Mashed Potato Pancakes


Flip leftover mashed potatoes into golden mashed potato pancakes with this straightforward recipe! These savory pancakes work for breakfast with maple syrup or as a aspect dish topped with bitter cream and chives.

Mashed Potato Pancakes

Right here’s a genius approach to give leftover potatoes a brand new life: mashed potato pancakes! I attempted this final 12 months after Thanksgiving and I’m now a believer in these savory pancakes that style like fluffy hashbrowns. The tender texture is out of this world good! They’re straightforward to whip up, the proper thought for leftover mashed potatoes from Thanksgiving or any meal.

I’ve refined the method after a couple of check batches, discovering a approach to make these even easier than the recipes I began from. Alex at all times requests these and I believe we each sit up for the pancakes simply as a lot because the potatoes. They’re nice with maple syrup however I like them greatest with chives and bitter cream as a savory pancake!

Why This Recipe Works

There are two primary strategies for making potato pancakes from mashed potatoes, each of which add eggs, flour, and sometimes cheese earlier than frying the potatoes. I discovered {that a} frequent technique makes a dough that’s thick and dense and pats it into small disc shapes which can be then pan-fried. Nonetheless, in my testing these had been arduous to flip and wanted fairly a little bit of oil to fry them on all sides.

As a substitute, my recipe for leftover mashed potato pancakes makes a batter that’s extra like a pancake batter. It’s is thick however liquid sufficient to pour onto the griddle, so it fries up similar to conventional pancakes. It’s so easy and there’s no must type pancakes or deep fry: simply pour them proper onto the skillet!

Best Mashed Potatoes Recipe

Key Substances You’ll Want

To make mashed potato pancakes you’ve received to start out with leftover mashed potatoes, in fact! Right here’s what you’ll want for this recipe:

  • Leftover mashed potatoes: The star ingredient! The chilly, day-old texture is definitely supreme: refrigeration dries out the potatoes and helps them maintain collectively higher. I usually use potatoes from my mashed potatoes recipe, however this works with any fashion: even horseradish mashed potatoes make scrumptious savory pancakes.
  • Eggs: These bind all the things collectively and add richness.
  • Cheddar cheese: Sharp cheddar provides savory depth and helps the pancakes maintain collectively. You possibly can additionally use Parmesan or any shredded cheese you will have readily available.
  • Baking powder: This secret ingredient provides the pancakes a slight rise, making them fluffier and lighter than conventional potato pancakes.
  • All-purpose flour: Simply ¼ cup supplies construction with out weighing down the batter. For gluten-free pancakes, you possibly can substitute 1-for-1 gluten-free flour (the feel could also be barely extra delicate).
  • Milk of alternative: This loosens the batter to a pourable consistency.
  • Olive oil: That is added on to the batter for moisture and taste, plus you’ll want butter or extra oil for cooking.
Mashed Potato Pancakes

Ideas for Good Leftover Mashed Potato Pancakes

These leftover mashed potato pancakes are easy to whip up: you’ll make a easy batter and fry it up similar to candy breakfast pancakes. Right here are some things to bear in mind:

  • Use a big griddle: a non-stick floor is useful. Some griddles have uneven heating, so use a top quality griddle or skillet. A non-stick floor is a plus, although you’ll nonetheless wish to cook dinner the pancakes in butter to get them golden brown.
  • Experiment to search out the fitting warmth stage. Medium low warmth is right, but it surely’s completely different on each stovetop. It ought to take a couple of minutes to get the pan as much as warmth. If the warmth is simply too low, the pancakes received’t puff as a lot when cooking.
  • Don’t fear if the primary pancake isn’t excellent! Use it as a check for honing in your pancake expertise and alter the warmth accordingly.
  • The batter might turn out to be very thick whereas ready for the second batch. If that’s the case, add a teaspoon or two of buttermilk till the batter is pourable. 

Serving Ideas

Leftover mashed potato pancakes work savory or candy, making them extraordinarily versatile. They work as a candy or savory breakfast, a aspect dish, or as an appetizer. Listed here are a couple of methods we prefer to serve them:

  • Topped with bitter cream and chives as a savory breakfast or appetizer
  • As a aspect dish for salmon, rooster or vegetarian primary dishes
  • Appetizer, made into smaller pancakes (much like fritters)
  • Topped with maple syrup, contemporary fruit and butter as a candy breakfast
Mashed Potato Pancakes

Storing and Reheating

Retailer leftover potato pancakes in an hermetic container within the fridge for as much as 4 days. To reheat, place them in a skillet and warmth till warmed via and crispy once more: about 2-3 minutes per aspect.

You’ll be able to freeze these pancakes (although I’ve not tried it personally). I’d advocate putting cooled pancakes in a single layer on a parchment-lined baking sheet and freeze till stable, then switch to a freezer bag. Reheat instantly from frozen in a skillet.

Dietary Notes

As written, this mashed potato pancakes recipe is vegetarian. For dairy-free, omit the cheese and add one other pinch of salt. Use oat milk, and serve with cashew cream.

For gluten-free, you should use gluten-free 1-for-1 flour. Almond flour is another choice, however the pancakes can be extra fragile and also you may wish to make them smaller to be simpler to flip.

Print

Straightforward Mashed Potato Pancakes

Mashed Potato Pancakes

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,peak=500′);
return false;
} );
}
}

5 Stars 4 Stars 3 Stars 2 Stars 1 Star

5 from 1 assessment

Flip leftover mashed potatoes into golden mashed potato pancakes with this straightforward recipe! These savory pancakes work for breakfast with maple syrup or as a aspect dish topped with bitter cream and chives.

  • Creator: Sonja Overhiser
  • Prep Time: 5 minutes
  • Prepare dinner Time: 10 minutes
  • Complete Time: quarter-hour
  • Yield: 9 medium pancakes
  • Class: Breakfast or Aspect
  • Methodology: Stovetop
  • Delicacies: American
  • Weight-reduction plan: Vegetarian

Substances

  • 2 giant eggs
  • 1 tablespoon olive oil
  • ½ teaspoon baking powder
  • ⅛ teaspoon kosher salt*
  • ¼ cup all-purpose flour
  • ½ cup shredded cheddar cheese
  • 2 cups chilly leftover mashed potatoes
  • 3 tablespoons milk of alternative
  • Butter or extra oil, for cooking
  • For serving: bitter cream and chopped chives or maple syrup (or toppings of alternative).

Directions

  1. Whisk the eggs, then add the olive oil, baking powder, salt and whisk. Add the flour and whisk once more. Change to utilizing a spatula and stir within the shredded cheese, leftover mashed potatoes and milk to make a thick however pourable batter. 
  2. Evenly butter a skillet or griddle and wipe off additional grease with a paper towel. Warmth the skillet to medium low warmth. Pour the batter into small circles (¼ cup for medium-sized pancakes, or smaller for small pancakes). Prepare dinner the pancakes till the bottoms are golden, about 1 to 2 minutes. Then flip them and cook dinner till cooked via and not gooey on the edges, adjusting the warmth as mandatory so that they don’t brown too quick.
  3. Place the cooked pancakes beneath an inverted bowl to maintain them heat. Repeat with the remaining batter, adjusting the warmth as mandatory to take care of a good temperature (if the batter turns into too thick, you possibly can add a teaspoon or two of milk till it turns into pourable). Serve instantly with bitter cream and chopped chives (for savory), with maple syrup (for candy), or with the toppings of your alternative.

Notes

*In case your mashed potatoes usually are not seasoned with salt, use ¼ teaspoon kosher salt.

Did you’re keen on this recipe?

Get our free e-newsletter with all of our greatest recipes!

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

(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().peak;
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.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.accommodates( ‘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.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, ranking );
}, 5000 );
},
() => {
this.resetTooltip( recipeCardElement );
}
);
},
updateAverageText( information, recipeCardElement ) {
if ( ! information.common ) {
return;
}
this.setRatingPercent( information );

if ( ! information.rely ) {
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( ‘.rely’ );
if ( countElement ) {
countElement.textContent = information.rely;
}
},
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.e mail;
}
},
maybeResetTooltip( recipeCardElement, information, ranking ) {
if ( this.savingRating === ranking ) {
this.resetTooltip( recipeCardElement, information );
}
},
resetTooltip( recipeCardElement, information ) {
window.TastyRecipes.staticTooltip.destroy();
this.savingRating = false;

// Reset the default ranking.
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 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 );
});

Related Articles

LEAVE A REPLY

Please enter your comment!
Please enter your name here

Latest Articles