This pear salad with toasted pecans and homemade poppy seed dressing is the ultimate fall and winter side dish! Sweet pears and jewel-like pomegranate seeds make every bite irresistible.

Here’s a dreamy salad if there ever was one: this brilliant pear salad recipe! It’s a study in contrasts: fresh, juicy pear against funky gorgonzola cheese; bright pomegranate against savory shallot. Throw in some toasted pecans and tangy poppy seed dressing and it’s pretty irresistible.
I love making this salad for fall and winter entertaining: especially for holidays like Thanksgiving or Christmas! When we serve it, Alex and I usually can’t stop mumbling how good it is. It’s not often that the salad is the highlight of a meal, but this one always is!
Ingredients You’ll Need
This pear salad is bursting with beautiful, fresh produce. It’s ideal for fall and winter when pears are in season, though you can make it anytime you have lusciously ripe fruit. I also love it for festive occasions like Thanksgiving or Christmas. Here’s what you’ll need for this recipe:
- Pears: Bartlett or Anjou work beautifully; the key is perfect ripeness
- Shallot: Raw and thinly sliced for a sweet, mild onion flavor
- Pecans: Toast the pecans to bring out their rich, buttery flavor
- Mixed greens: Any high quality mix of baby greens works
- Pomegranate seeds: Add jewel-like bursts of tart sweetness (see how to cut a pomegranate)
- Gorgonzola cheese: Or substitute feta, goat cheese, or your favorite cheese
- Poppy seed dressing: See below!

How to Ripen Pears
Pears can take quite a while to ripen, so keep that in mind when planning for this recipe. Think of them more like bananas when it comes to ripening. Here are some tips:
- Place the pears in a paper bag to ripen in 2 to 4 days. Leave them at room temperature and they should be ripe in 2 to 4 days.
- In a bowl on the counter, pears ripen in about 4 to 7 days. Check them by gently pressing the flesh to see if it is tender.
- Don’t place pears in the refrigerator unless they are ripe. The refrigerator slows the ripening process. If you place them in the fridge right away, they’ll be rock hard. Allow them to ripen first, then only refrigerate if you want to delay eating them.
Making Homemade Poppy Seed Dressing
The star of this pear salad recipe is the poppy seed dressing! This dressing is a vinaigrette with acidity and pop of sweetness. Here are a few ingredient notes:
- Use a neutral oil like grapeseed. This makes the best emulsion (creamy texture) and flavor. If you prefer olive oil, use up to half olive oil and half neutral oil.
- Make sure to use white vinegar. Avoid white wine vinegar here and go for white vinegar: it has the best straightforward, tangy flavor.
- For a natural sweetener, try honey. It’s just as tasty.

Variations and Substitutions
This pear salad is incredibly versatile. While pears and gorgonzola are a classic flavor pairing, blue cheese can be a polarizing food. Luckily this pear salad works with any type of cheese, as well as other types of mix-ins. Here are some of my favorite ways to customize it:
- Cheeses: Swap gorgonzola for feta, goat cheese, shaved Parmesan, or Manchego
- Nuts: Use candied pecans, candied walnuts, toasted walnuts, or toasted almonds instead of plain pecans
- Fruits: Swap in or add thinly sliced apples, fresh figs, or dried cranberries
- Greens: Use baby spinach, arugula, or shredded Brussels sprouts
- Protein: Top with grilled chicken, blackened shrimp, or pan-seared salmon for a complete meal
- Make it vegan: Omit the cheese or use a vegan cheese alternative
Tips for Serving a Crowd
This pear salad can be served a few different ways: on a platter, or plated. Here are some notes on serving it for a crowd:
- Double the fresh ingredients for a crowd. You should have enough dressing for a double recipe, so just double the fresh ingredients!
- Serve on a platter for easy sharing. The pear salad looks festive and vibrant on a large platter.
- Or, serve it plated. Make individual plates and drizzle about 1 to 1 ½ tablespoons dressing on each one.
What To Pair with It
This salad pairs wonderfully with roasted meats and fish. I’ve served it alongside everything from chicken thighs to mac and cheese to baked salmon. If you eat meat, it goes well with pork chops or even a steak. The bright, fresh flavors cut through rich main dishes and provide a nice contrast.
I’ve also served it as a Thanksgiving side dish, and it would be perfect for Christmas dinner or any fall or winter dinner party.

Dietary Notes
This pear salad recipe is vegetarian and gluten-free. For vegan, plant-based and dairy-free, omit the gorgonzola cheese (it’s delicious without!).
Frequently Asked Questions
Gently press the flesh near the stem with your thumb. If it gives slightly, the pear is ripe. The body of the pear should still be relatively firm: you don’t want them so soft that they’re mushy.
You don’t have to, but I highly recommend it. Toasting nuts takes just 5 minutes and dramatically improves their flavor and texture. Once you try toasted nuts, you’ll never want to use them raw again.
Yes! The dressing makes about ¾ cup, which is enough for one batch of salad with some left over. If you’re serving a crowd, double the fresh salad ingredients, and you should have plenty of dressing. It keeps well in the fridge for a week.
I use it on simple green salads, drizzle it over roasted vegetables, or even use it as a marinade for grilled chicken. The sweet-tangy flavor is incredibly versatile.
Pear Salad with Pomegranate & Pecans
This pear salad with toasted pecans and homemade poppy seed dressing is the ultimate fall and winter side dish! Sweet pears and jewel-like pomegranate seeds make every bite irresistible.
- Prep Time: 20 minutes
- Cook Time: 0 minutes
- Total Time: 20 minutes
- Yield: 4
- Category: Side dish
- Method: Fresh
- Cuisine: American
- Diet: Vegetarian
Ingredients
For the pear salad
- 1 ripe pear
- 1 shallot
- ½ cup pecan pieces
- 8 cups mixed baby greens
- ½ cup pomegranate seeds
- ⅓ cup gorgonzola cheese crumbles (or feta cheese or goat cheese; omit for vegan)
For the dressing (makes ¾ cup; use approximately 6 tablespoons for 4 servings)
- ¼ cup granulated sugar (or honey)
- ¼ cup white vinegar
- 1 teaspoon dry mustard
- 1 teaspoon onion flakes
- ¼ teaspoon kosher salt
- ½ cup grapeseed oil* (or other neutral oil like organic vegetable or canola)
- 1 tablespoon poppy seeds
Instructions
- Make the dressing: In a medium bowl, whisk together the granulated sugar, white vinegar, dry mustard, onion flakes, and kosher salt. Gradually whisk in the grapeseed oil about 1 tablespoon at a time until a creamy emulsion forms. Whisk in the poppy seeds. Serve immediately or store in a sealed container or jar until serving (allow to come to room temperature if refrigerated).
- Prep the fresh ingredients: Slice the pear into thin slices. Thinly slice the shallot. See How to Cut a Pomegranate for instructions on removing pomegranate seeds.
- If time, toast the pecans: Place the nuts in a dry skillet (no oil) over medium heat. Heat, shaking the pan and stirring often with a wooden spoon, until the nuts are fragrant and slightly darker brown, about 4 to 5 minutes. Stay at the stove because the nuts can easily burn! Remove immediately from the heat and transfer to a plate to stop the cooking.
- Serve: Place the greens on a plate or platter. Top with the pear slices, shallot, toasted pecans, pomegranate seeds, and gorgonzola cheese crumbles. Drizzle with the desired amount of dressing and serve (use approximately 6 tablespoons for 4 servings; store the remaining dressing refrigerated).
window.trCommon={“minRating”:6,”ajaxurl”:”https:\/\/www.acouplecooks.com\/wp-admin\/admin-ajax.php”,”ratingNonce”:””,”postId”:117898};
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 );
});
More Winter & Fall Salad Recipes
- Crisp Apple Salad
- Sweet Potato Salad
- Goat Cheese Salad with Arugula & Apple
- Brussels Sprout Salad
- Perfect Pomegranate Salad



