Skip to main content

10 incredible winter farmers markets to visit in the US & Canada



Pike Place Market – Seattle, Washington – Photo by Yelper John D.

When traveling to a new city, there’s truly no better place to start than the best local market. Markets have been connecting communities with commerce for thousands of years, and have been a crucial catalyst for the sharing of cuisines, goods, cultures, and ideas throughout history. Tasting, smelling, and shopping your way through a city’s local artisan farmers markets can tell you almost everything you need to know about the heart and soul of the town you’re in. While, of course, the summer season provides a plethora of markets all across the continent, these top ten incredible winter farmers markets will help feed your soul until next year’s farming season.

Halifax Seaport Farmer’s Market – Halifax, Nova Scotia, Canada – Photo by Yelper Ben B.
  1. Halifax Seaport Farmers’ Market – Halifax, Nova Scotia, Canada

This great stop in NS makes the list because it is the oldest continuously operating farmers market in North America, originating in 1750. It features fresh Atlantic Canadian shellfish like mussels, clams, and lobster; and fresh produce and fruits from the Annapolis Valley. After eating your way through the market, check out one of its many cafes and galleries, or the Maritime Museum of the Atlantic. Expect impressive artifacts and art alongside your collection of snacks for later!

Yelper Insight: After you eat way too much food, get a massage (take a nap) in the market, or take a stroll on the pier to walk off your full belly blues.

Santa Fe Farmer’s Market – Santa Fe, New Mexico – Photo by Yelper John C.
  1. Santa Fe Farmer’s Market – Santa Fe, New Mexico

This hybrid indoor-outdoor space at the Santa Fe Railyard provides an incredible array of all things Santa Fe. The produce vendors have vast colorful displays of wonderfully unique options like Lemon Cucumbers, Jujubes, and oh-so-many peppers that you’ve never seen or heard of before. You may even stumble on chilis being roasted right there in front of you for fresh salsas and sauces! Prepare to test your spice limits as you make your way through tons of prepared foods, local art, flowers, breads, and anything else you could ever want from a market.

Yelper Insight: Out-of-towners beware! You might just want to move to Santa Fe after visiting to cook with all the tasty offerings they have available.

Green City Market – Chicago, Illinois – Photo by business
  1. Green City Market – Chicago, Illinois

In 2008, Green City Market made the transition from summer-only to year-round, moving it’s operations inside The Peggy Notebaert Nature Museum at Lincoln Park from November-April. Midwest winter markets are a special type of operation due to the harsh weather for local producers and shoppers, but Green City Market is on a mission. Year-round market operations are centered around uplifting Midwest growers, promoting environmentally-conscious practices, and responsible treatment of animals. Green City Market has become crucial in supporting a vibrant industry for local, sustainably-produced food in Chicago!

Yelper Insight: Winter market schedules can vary, so check in on the website regularly.

Pearl Farmers Market – San Antonio, Texas – Photo by Yelper David G.
  1. Pearl Farmers Market – San Antonio, Texas

The beautiful Pearl Market opened in 2009 and has been feeding San Antonio ever since. Like all farmers markets, you can find an array of fresh fruits and veggies, prepared foods, plus local seasonal products; but the rules require that all products come from within 150 miles of San Antonio, making this market a pretty special place. It’s also a producers-only market, meaning shoppers purchase their local goodies directly from the makers and growers, themselves. After perusing for sweets and treats of all types, there’s a super inviting outdoor space for grazing and enjoying sunny Texas winters.

Yelper Insight: Free parking is offered in the nearby Koehler Garage.

Union Square Greenmarket – New York, New York – Photo by Yelper Natalie G.
  1. Union Square Greenmarket – New York, New York

This world-renowned Greenmarket started in 1976, and is a must-stop site for NYC tourists and locals, alike. Vendors carry everything from wild mushrooms and local eggs, to fresh scallops, and homemade pastas. Yelpers really love the shopping, but the organization and market programming is what makes the Union Square Greenmarket stand out. Cooking demonstrations from top Manhattan chefs, workshops about seasonality from farmers and producers, and educational tours for students are just some of the types of events that take place on regular market days.

Yelper Insight: Vendors rotate on different days of the week– you may want to visit multiple times during your trip to NYC.

Eastern Market – Washington, DC – Photo by Yelper Vincent L.
  1. Eastern Market – Washington, DC

Eastern Market is another epic hybrid indoor-outdoor market beloved by both tourists and locals. Winter weather forces the market operations indoors, but you can still find butchers, poultry, fresh vegetables, pastries, bread, cakes, and a variety of street food options! The historic area and feel to the market make it a great place to stop on a day of adventuring around in Washington, DC.

Yelper Insight: Vendors are open daily, but there are a lot more options on the weekends.

St. Lawrence MarketToronto, Canada – Photo by Yelper Dayna H.
  1. St. Lawrence MarketToronto, Canada

This Toronto destination is enough to downright overwhelm any foodie. It’s one of the larger markets on the list, with multiple levels and vendors in every direction you look. You’ll find tables on tables of meats, cheeses, pastries, wine, Canadian souvenirs, coffee, honey, and more. Plan at least a whole afternoon to check out everything they have to offer. You can eat your way through Toronto without ever leaving the market!

Yelper Insight: Many of the businesses are cash-only! Make sure you bring enough with you.

West Side Market – Cleveland, Ohio – Photo by Yelper David G.
  1. West Side Market – Cleveland, Ohio

West Side Market is one of the oldest markets on the list (and also one of the largest), with the main market house having been dedicated in 1912. Inside, you’ll find 99 stands specializing in meats, poultry, dairy, seafood, baked goods, and other specialty items. In the adjacent arcade, you’ll find another 82 vendors offering a plethora of fresh fruits and vegetables. The historic architecture makes this Cleveland destination a renowned favorite tourist site for market-lovers from all over the world.

Yelper Insight: Beware of odd operating hours: it’s closed on Tuesdays and Thursdays, and also closes fairly early- no later than 5pm, except for on Sundays, when it closes an hour earlier.

The Original Farmer’s MarketLos Angeles, California – Photo by Yelper Ren Y.
  1. The Original Farmer’s MarketLos Angeles, California

This old outdoor market, originating in 1934, is a food and beverage connoisseur’s dream. With aisles of permanent restaurants and stalls carrying everything you could possibly want in your pantry, you just might get lost finding all of the fanciest goodies on your shopping list. Cute cafes with tables and full kitchens are sprinkled throughout the market where you can try many different types of global cuisines!

Yelper Insight: Check out the markets Fall festival every October, a tradition that began when the market started 88 years ago.

Pike Place Market – Seattle, Washington – Photo by Yelper John D.
  1. Pike Place Market – Seattle, Washington

With over 500 small businesses on its list of vendors, it comes as no surprise that Pike Place Market makes the list. This beautiful compound tucked against the Seattle skyline provides one of the best farmers market experiences in the world, regardless of the season. The best part about Pike Place is the incredible trip-planning app that can help you map out and track your experience throughout your visit!

Yelper Insight: Plan multiple trips to this market if you’re new to Seattle– you’ll need every moment possible to soak up the majesty of it all.

Looking for a winter market in your area? You can find your next market stop in your city by tapping on the Yelp app!

[gravityform id="4" title="false" ajax="true"]
<script type="text/javascript">var gform;gform||(document.addEventListener("gform_main_scripts_loaded",function(){gform.scriptsLoaded=!0}),window.addEventListener("DOMContentLoaded",function(){gform.domLoaded=!0}),gform={domLoaded:!1,scriptsLoaded:!1,initializeOnLoaded:function(o){gform.domLoaded&&gform.scriptsLoaded?o():!gform.domLoaded&&gform.scriptsLoaded?window.addEventListener("DOMContentLoaded",o):document.addEventListener("gform_main_scripts_loaded",o)},hooks:{action:{},filter:{}},addAction:function(o,n,r,t){gform.addHook("action",o,n,r,t)},addFilter:function(o,n,r,t){gform.addHook("filter",o,n,r,t)},doAction:function(o){gform.doHook("action",o,arguments)},applyFilters:function(o){return gform.doHook("filter",o,arguments)},removeAction:function(o,n){gform.removeHook("action",o,n)},removeFilter:function(o,n,r){gform.removeHook("filter",o,n,r)},addHook:function(o,n,r,t,i){null==gform.hooks[o][n]&&(gform.hooks[o][n]=[]);var e=gform.hooks[o][n];null==i&&(i=n+"_"+e.length),gform.hooks[o][n].push({tag:i,callable:r,priority:t=null==t?10:t})},doHook:function(n,o,r){var t;if(r=Array.prototype.slice.call(r,1),null!=gform.hooks[n][o]&&((o=gform.hooks[n][o]).sort(function(o,n){return o.priority-n.priority}),o.forEach(function(o){"function"!=typeof(t=o.callable)&&(t=window[t]),"action"==n?t.apply(null,r):r[0]=t.apply(null,r)})),"filter"==n)return r[0]},removeHook:function(o,n,t,i){var r;null!=gform.hooks[o][n]&&(r=(r=gform.hooks[o][n]).filter(function(o,n,r){return!!(null!=i&&i!=o.tag||null!=t&&t!=o.priority)}),gform.hooks[o][n]=r)}});</script> <div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_4' ><div id='gf_4' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <span class='gform_description'></span> </div><form data-form-name='Newsletter Signup Popup' method='post' enctype='multipart/form-data' target='gform_ajax_frame_4' id='gform_4' action='/community/10-incredible-winter-farmers-markets-to-visit-in-the-us-canada/#gf_4' novalidate> <div class='gform_body gform-body'><ul id='gform_fields_4' class='gform_fields top_label form_sublabel_below description_below'><li id="field_4_1" class="gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible gf-email" data-field-class="gf-email" data-js-reload="field_4_1"><label class='gfield_label screen-reader-text' for='input_4_1' >youremail@address.com</label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_4_1' type='email' value='' class='large' placeholder='youremail@address.com' aria-invalid="false" /> </div></li><li id="field_4_2" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_4_2"><label class='gfield_label' for='input_4_2' >Name</label><div class='ginput_container'><input name='input_2' id='input_4_2' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_4_2'>This field is for validation purposes and should be left unchanged.</div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_4' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_4"]){return false;} if( !jQuery("#gform_4")[0].checkValidity || jQuery("#gform_4")[0].checkValidity()){window["gf_submitting_4"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_4"]){return false;} if( !jQuery("#gform_4")[0].checkValidity || jQuery("#gform_4")[0].checkValidity()){window["gf_submitting_4"]=true;} jQuery("#gform_4").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=4&amp;title=&amp;description=1&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_4' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='4' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_4' value='WyJbXSIsImE0YjFiMmUxY2IxMWVhYTljM2FhNzdkODk4NDUzZmY0Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_4' id='gform_target_page_number_4' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_4' id='gform_source_page_number_4' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_4' id='gform_ajax_frame_4' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script> gform.initializeOnLoaded( function() {gformInitSpinner( 4, 'https://blog.yelp.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_4').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_4');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_4').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_4').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_4').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_4').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_4').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_4').val();gformInitSpinner( 4, 'https://blog.yelp.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [4, current_page]);window['gf_submitting_4'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_4').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_4').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [4]);window['gf_submitting_4'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_4').text());}, 50);}else{jQuery('#gform_4').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [4, current_page]);} );} ); </script>
[gravityform id="4" title="false" ajax="true"]
<div class='gf_browser_unknown gform_wrapper gform_legacy_markup_wrapper' id='gform_wrapper_4' ><div id='gf_4' class='gform_anchor' tabindex='-1'></div> <div class='gform_heading'> <span class='gform_description'></span> </div><form data-form-name='Newsletter Signup Popup' method='post' enctype='multipart/form-data' target='gform_ajax_frame_4' id='gform_4' action='/community/10-incredible-winter-farmers-markets-to-visit-in-the-us-canada/#gf_4' novalidate> <div class='gform_body gform-body'><ul id='gform_fields_4' class='gform_fields top_label form_sublabel_below description_below'><li id="field_4_1" class="gfield field_sublabel_below field_description_below hidden_label gfield_visibility_visible gf-email" data-field-class="gf-email" data-js-reload="field_4_1"><label class='gfield_label screen-reader-text' for='input_4_1' >youremail@address.com</label><div class='ginput_container ginput_container_email'> <input name='input_1' id='input_4_1' type='email' value='' class='large' placeholder='youremail@address.com' aria-invalid="false" /> </div></li><li id="field_4_2" class="gfield gform_validation_container field_sublabel_below field_description_below gfield_visibility_visible" data-js-reload="field_4_2"><label class='gfield_label' for='input_4_2' >Email</label><div class='ginput_container'><input name='input_2' id='input_4_2' type='text' value='' autocomplete='new-password'/></div><div class='gfield_description' id='gfield_description_4_2'>This field is for validation purposes and should be left unchanged.</div></li></ul></div> <div class='gform_footer top_label'> <input type='submit' id='gform_submit_button_4' class='gform_button button' value='Submit' onclick='if(window["gf_submitting_4"]){return false;} if( !jQuery("#gform_4")[0].checkValidity || jQuery("#gform_4")[0].checkValidity()){window["gf_submitting_4"]=true;} ' onkeypress='if( event.keyCode == 13 ){ if(window["gf_submitting_4"]){return false;} if( !jQuery("#gform_4")[0].checkValidity || jQuery("#gform_4")[0].checkValidity()){window["gf_submitting_4"]=true;} jQuery("#gform_4").trigger("submit",[true]); }' /> <input type='hidden' name='gform_ajax' value='form_id=4&amp;title=&amp;description=1&amp;tabindex=0' /> <input type='hidden' class='gform_hidden' name='is_submit_4' value='1' /> <input type='hidden' class='gform_hidden' name='gform_submit' value='4' /> <input type='hidden' class='gform_hidden' name='gform_unique_id' value='' /> <input type='hidden' class='gform_hidden' name='state_4' value='WyJbXSIsImE0YjFiMmUxY2IxMWVhYTljM2FhNzdkODk4NDUzZmY0Il0=' /> <input type='hidden' class='gform_hidden' name='gform_target_page_number_4' id='gform_target_page_number_4' value='0' /> <input type='hidden' class='gform_hidden' name='gform_source_page_number_4' id='gform_source_page_number_4' value='1' /> <input type='hidden' name='gform_field_values' value='' /> </div> </form> </div> <iframe style='display:none;width:0px;height:0px;' src='about:blank' name='gform_ajax_frame_4' id='gform_ajax_frame_4' title='This iframe contains the logic required to handle Ajax powered Gravity Forms.'></iframe> <script> gform.initializeOnLoaded( function() {gformInitSpinner( 4, 'https://blog.yelp.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery('#gform_ajax_frame_4').on('load',function(){var contents = jQuery(this).contents().find('*').html();var is_postback = contents.indexOf('GF_AJAX_POSTBACK') >= 0;if(!is_postback){return;}var form_content = jQuery(this).contents().find('#gform_wrapper_4');var is_confirmation = jQuery(this).contents().find('#gform_confirmation_wrapper_4').length > 0;var is_redirect = contents.indexOf('gformRedirect(){') >= 0;var is_form = form_content.length > 0 && ! is_redirect && ! is_confirmation;var mt = parseInt(jQuery('html').css('margin-top'), 10) + parseInt(jQuery('body').css('margin-top'), 10) + 100;if(is_form){jQuery('#gform_wrapper_4').html(form_content.html());if(form_content.hasClass('gform_validation_error')){jQuery('#gform_wrapper_4').addClass('gform_validation_error');} else {jQuery('#gform_wrapper_4').removeClass('gform_validation_error');}setTimeout( function() { /* delay the scroll by 50 milliseconds to fix a bug in chrome */ jQuery(document).scrollTop(jQuery('#gform_wrapper_4').offset().top - mt); }, 50 );if(window['gformInitDatepicker']) {gformInitDatepicker();}if(window['gformInitPriceFields']) {gformInitPriceFields();}var current_page = jQuery('#gform_source_page_number_4').val();gformInitSpinner( 4, 'https://blog.yelp.com/wp-content/plugins/gravityforms/images/spinner.svg' );jQuery(document).trigger('gform_page_loaded', [4, current_page]);window['gf_submitting_4'] = false;}else if(!is_redirect){var confirmation_content = jQuery(this).contents().find('.GF_AJAX_POSTBACK').html();if(!confirmation_content){confirmation_content = contents;}setTimeout(function(){jQuery('#gform_wrapper_4').replaceWith(confirmation_content);jQuery(document).scrollTop(jQuery('#gf_4').offset().top - mt);jQuery(document).trigger('gform_confirmation_loaded', [4]);window['gf_submitting_4'] = false;wp.a11y.speak(jQuery('#gform_confirmation_message_4').text());}, 50);}else{jQuery('#gform_4').append(contents);if(window['gformRedirect']) {gformRedirect();}}jQuery(document).trigger('gform_post_render', [4, current_page]);} );} ); </script>