These roasted mini potatoes come out perfectly crispy on the outside and creamy on the inside. A simple, flavor-packed side dish that works with any meal.

There’s something about biting into a perfectly roasted mini potato: you know, the kind that’s golden crisp on the outside and fluffy and tender on the inside? I’ve made many roasted potato recipes over the years, but baby potatoes are my favorite because it’s easy to get this tiny potato perfectly crispy.
Just a handful of ingredients: mini potatoes, olive oil, garlic powder, smoked paprika turn into something seriously delicious. The hot oven makes irresistibly crispy edges while keeping the centers nice and creamy. They pair well with everything from grilled chicken or baked salmon, and I’ve learned they typically disappear very quickly!
Why You’ll Love This Recipe
- Consistently crispy: I’ve found this type of potato is pretty easy to make crispy, especially with my roasting technique.
- Minimal prep: No peeling necessary! Small potatoes cook faster than larger potatoes, and their thin skins become perfectly tender when oven roasted.
- Goes with anything: This recipe works works well as a side dish for nearly any main dish, from chicken to fish to vegetarian mains.
5-Star Reader Review




“I make these at least once a week. Incredibly delicious and oh so easy to make. Thank you for sharing this recipe, it’s delicious.” – Johanna
Ingredients You’ll Need
This recipe requires just a few simple ingredients:
- Mini potatoes: Mini potatoes are any small waxy potatoes. In contrast to russet potatoes, waxy potatoes have a rich buttery, rich texture of their interior. The size of mini potatoes varies based on the grocery store: there’s no standardized definition. You’ll find them labeled as new potatoes, baby potatoes, mini potatoes, creamers, petite potatoes, or baby potato medley.
- Olive oil: Extra-virgin olive oil helps achieve that crispy exterior and carries the seasonings.
- Garlic powder: Gives a savory depth without the risk of burning that fresh garlic cloves can have at high heat. If you like fresh garlic, add minced garlic cloves in the last 10 minutes of roasting.
- Smoked paprika: This is my secret ingredient for adding subtle smokiness. Regular paprika works too, but smoked paprika adds a smoky nuance.
- Fresh herbs for garnish: I finish with chopped chives, but fresh parsley or fresh rosemary also work.

How to Make Roasted Mini Potatoes
The technique for making perfectly crispy roasted potatoes is simple, but a few key steps make all the difference (or go right to the full recipe below):
- Cut the potatoes in half. Wash and pat dry the potatoes, then slice them to create flat surfaces that will caramelize and become crispy.
- Toss with seasonings. In a large bowl, coat the potatoes with olive oil, garlic powder, smoked paprika, and kosher salt.
- Arrange properly on your sheet pan. Line a baking sheet with parchment paper (this makes cleanup easier). Then place the potatoes in a single layer with the cut side down. This is essential: the flat surface needs contact with the hot pan to get crispy. Also don’t overcrowd the pan; give them space or use two pans if needed. Crowded potatoes will steam instead of roast, which means soggy potatoes.
- Roast without stirring. At 425°F, the potatoes will take 30 to 35 minutes to become fork tender with crispy bottoms. The exact cook time depends on potato size. Resist the urge to flip or stir them!
Flavor Variations
The classic garlic and smoked paprika combination is my favorite for mini potatoes, but this recipe is endlessly adaptable. Here are some variations I often use:
- Herby: Toss with chopped fresh rosemary, thyme, oregano, or dill and a pat of butter right after roasting.
- Parmesan baby potatoes: Sprinkle freshly grated parmesan cheese over the potatoes halfway through the roasting time.
- Lemon herb: After roasting, toss with lemon zest, fresh parsley, and a squeeze of lemon juice
- Garlic lovers: Toss with garlic butter after baking

What to Serve With Them
These roasted mini potatoes are a great side dish for just about any protein. For weeknight dinners, I pair them with pan fried chicken thighs or seared salmon, since neither of those sides needs an oven. They’re also great alongside steak, pork chops, or grilled fish.
For a vegetarian meal, serve these roasted baby potatoes alongside a big salad or with other roasted veggies. They’re also a fantastic side to bring for potlucks and holiday gatherings: they travel well and can be served warm or at room temperature.
Looking for more potato side dishes? Try my garlic roasted potatoes or roasted fingerling potatoes for variety.
Storing & Reheating
Leftover roasted mini potatoes store in the refrigerator for up to 4 days. To reheat, heat a little olive oil or butter in a pan over medium-high heat and add the potatoes. Cook for about 5 minutes, stirring occasionally, until they’re heated through and crispy again.
You can also reheat them in the oven at 400°F for about 10 minutes or an air fryer at 375°F for 3-5 minutes (this makes them the crispiest!).
I don’t recommend freezing these potatoes: the texture isn’t the same after thawing!
Dietary Notes
This roasted mini potatoes recipe is vegetarian, vegan, gluten-free, dairy-free and plant-based.
Frequently Asked Questions
No, baby potatoes don’t need to be boiled before roasting. Boiling first can make them waterlogged and prevents proper crisping. The key is to cut them in half so they cook through in the oven while developing that golden brown crust.
If your roasted potatoes aren’t getting crispy, the most common culprits are: not drying the potatoes thoroughly before roasting (moisture prevents browning), overcrowding the baking sheet (potatoes need space to roast, not steam), using too low a temperature (425°F is ideal).
Yes, new potatoes and baby potatoes are essentially the same thing. Both refer to young potatoes that are harvested early in the season before they reach full maturity. They have thin, tender skins that don’t need peeling and a naturally sweet, creamy texture. You might also see them labeled as mini potatoes, creamers, or petite potatoes depending on the grocery store.
Yes, you can roast potatoes ahead of time, though they’re definitely best served fresh from the oven. If you need to prep ahead, roast them completely, let them cool, and store in an airtight container in the refrigerator for up to 4 days. Reheat them in a 400°F oven for 10 minutes. They won’t be quite as crispy as freshly roasted, but they’ll still be delicious.
Crispy Roasted Mini Potatoes
These roasted mini potatoes come out perfectly crispy on the outside and creamy on the inside. A simple, flavor-packed side dish that works with any meal.
- Prep Time: 10 minutes
- Cook Time: 30 minutes
- Total Time: 40 minutes
- Yield: 4
- Category: Side dish
- Method: Roasted
- Cuisine: Potatoes
- Diet: Vegan
Ingredients
- 1 1/2 pounds mini potatoes
- 2 tablespoons olive oil
- 1 teaspoon garlic powder
- 1 teaspoon smoked paprika
- ¾ teaspoon kosher salt
- 1 tablespoon chopped chives
Instructions
- Preheat the oven to 425 degrees Fahrenheit.
- Wash the potatoes and pat them dry. Slice them in half.
- In a large bowl, stir together the potatoes, olive oil, garlic powder, smoked paprika, and kosher salt.
- Line a baking sheet with parchment paper. Spread the potatoes in an even layer on the sheet cut and make sure they are side down. Roast for about 30 to 35 minutes without stirring until browned, depending on the size of the pieces.
- Remove the potatoes from the oven and toss with the chives. You can also spritz with lemon wedges for a pop of tangy flavor.
Notes
- Don’t skip drying: Wet potatoes won’t crisp properly.
- Cut side down is crucial: This creates the crispy, caramelized surface.
- Spacing matters: Don’t overcrowd the pan. Use two baking sheets if needed.
- Fresh herbs: Add herbs at the end. Fresh rosemary, thyme, dill, or parsley all work wonderfully.
- Make it cheesy: Sprinkle grated parmesan cheese over the potatoes halfway through roasting for a cheesy variation.
- Storage and reheating notes: Store refrigerated up to 4 days. For reheating instructions, see the “Storage & Reheating” section above.
window.trCommon={“minRating”:6,”ajaxurl”:”https:\/\/www.acouplecooks.com\/wp-admin\/admin-ajax.php”,”ratingNonce”:””,”postId”:118047};
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 );
});



