Skip to main content

Top sandwich spots in every state 2022



It’s hard to believe that the concept of a sandwich dates back to the first century B.C.  Sandwiches made with matzah have been a long standing tradition during Passover seders in remembrance of Hillel the Elder, where it is said he placed lamb and herbs in between matzah bread. It wasn’t until the English politician, John Montagu (a.k.a. The 4th Earl of Sandwich), did they coin the term “sandwich”. It is rumored that he had requested a snack while playing a rousing game of cards in 1762 and was brought sliced meat between two pieces of bread. Since then, the sandwich has made its way around the world and evolved into the entity it is today. From massive sandwich creations that hold mozzarella sticks, french fries, chicken fingers and gravy to the incredible vegan bahn mi, a sandwich is completely customizable which makes it the perfect food for literally anyone!

With August being National Sandwich Month, we would be remiss if we didn’t acknowledge this great food invention. A food invention so great, it has sparked numerous debates. What constitutes a sandwich? Is a hot dog a sandwich? And depending where you are in the country, you might have a different name for your favorite handheld munchie. Whether you call it a grinder, hoagie, sub, hero, or even an ice cream sandwich, there is nothing better than a sandwich!

And to help you on your journey to find the next great sandwich, we have compiled a list of the top sandwich spots in each state!  Also to assist you on your sandwich voyage, here we have created a collection for you to have at the ready during your travels! Happy Sandwich eating!

____________________________________________________________________________

Photo via Yelp by Anchorage Community Ambassador, Andrew H.

Alaska: MVP Sports Deli & Eatery (Anchorage)

It’s all about the roast beef at MVP Sports Deli & Eatery, as it is the most reviewed sandwich at this spot! “Fantastic sandos! This is a sub place, with a twist. You pick your meat, and how much of it you want then… you do the rest!”  Yelp Anchorage Community Ambassador, Andrew H. 

Alabama: Smiley Brothers Specialty Foods (Pelham)

Arkansas: MELD Kitchen + Sandwich Bar (Bentonville)

Arizona: The Local Press Sandwich Bar (Wickenburg)

California: Prunedale Market (Prunedale)

Colorado: Sweet Coloradough (Glenwood Springs)

Connecticut: The Dilly Duck Shop (Wallingford)

Washington, DC: Falafel Inc 

Delaware: Frank & Louie’s Italian Specialties (Rehoboth Beach)

Photo via Yelp by Franky’s Deli Warehouse 

Florida: Franky’s Deli Warehouse (Hialeah)

“What a great find this was, thank you fellow yelpers for steering us in this direction. We were met as we walked in the door by a gentleman who asked us if he could help us if it was our first time here and he did and recommended sandwiches and they were absolutely outstanding. We had the Italian which was made hot and it was great. We also had the cuban sandwich and it was done to perfection.”  Yelp Reviewer Steve M.

Georgia: RW’s Subs (Duluth)

Hawaii: Māla Market (Honolulu)

Iowa: Her Soup Kitchen (Iowa City)

Idaho: Cafe Carambola (Coeur d’Alene)

Illinois: Elena’s Cucina (Roselle, IL)*

Indiana: Subito (Indianapolis)

Kansas: Joe’s Kansas City Bar-B-Que (Kansas City)

Kentucky: Dad’s Favorites (Lexington)

Louisiana: Milk Bar (New Orleans)

Photo via Yelp by Eric R.

Massachusetts: Tutto Italiano (Hyde Park)

“Sometimes when you walk in you just know it’s going to be excellent, and this was one of those times. All I wanted for my birthday this year was a meatball sub…they did not disappoint. Came for a sub left with two plus octo, sun dried tomatoes, olives, had to run away before I ordered more. Still affordable and well worth the price. I’ll be back again asap.” Yelp Reviewer Isaac C. 

Maryland: Ekiben (Baltimore)

Maine: Coffee ME Up (Portland)

Michigan: Ernie’s Market (Oak Park)

Minnesota: Zuppa Cucina (Shakopee) 

Missouri: Blues City Deli (St. Louis)

Mississippi: The Grind Coffee and Nosh (Biloxi)

Montana: the Wich Haus (Whitefish)

North Carolina: The High Test Deli And Sweet Shop (Bryson City)

North Dakota: Nichole’s Fine Pastry & Café (Fargo)

Photo via Yelp by Banhwich Cafe

Nebraska: Banhwich Cafe (Lincoln)

“Located in a discreet spot off busy 27th Street, this little sandwich shop is one of the most consistently great lunch spots in Lincoln.” Yelp Reviewer Dustin B.

New Hampshire: Jon’s Roast Beef & Deli (Laconia)

New Jersey: Saigon Subs & Café (Morristown)

New Mexico: Coda Bakery (Albuquerque)

Nevada: NoButcher (Las Vegas)

New York: Tony’s Beechhurst Deli (Whitestone)

Ohio: Newfangled Kitchen (Bexley)

Oklahoma: Trenchers Delicatessen (Tulsa)

Oregon: Primal Cuts Market (Bend)

Pennsylvania: Christie’s Deli (Philadelphia)

Photo via Yelp Elite Mike C.

Rhode island: Dune Brothers (Providence)

“Honestly the best fish sandwich I’ve ever had- and I don’t say that lightly. Clean, quaint and delicious. ” Yelp Reviewer Bailey P.

South Carolina: 167 Raw Oyster Bar (Charleston)

South Dakota: harriet & oak (Rapid City)

Tennessee: Tennessee Jed’s (Gatlinburg)

Texas: Tony’s Italian Delicatessen (Montgomery)

Utah: Farmstead (St. George)

Virginia: Paramount Cafe (Arlington)

Vermont: Apple Core Luncheonette and Brew (Waterbury Center)

Washington: Melon Seed Deli & Frozen Yogurt (Tacoma)

Wisconsin: Glorioso’s Italian Market (Milwaukee)

West Virginia: Yen’s Sandwiches (South Charleston)

Photo via Yelp by Creekside Market

Wyoming: Creekside Market (Jackson)

“Made to order sandwiches are excellent. Great place to get a bite to eat and hit the trails.  Very efficient ordering process. Definitely a spot all the locals know about.” Yelp Reviewer Brad H.

*Previously the list highlighted Nini’s Deli as the top sandwich shop in Illinois. As of August 4, the list has been updated to include Elena’s Cucina

____________________________________________________________________________

Methodology: This is an all-time list of the Top Sandwiches in each State according to Yelp. We identified businesses in the food and restaurant category on Yelp, with a large concentration of reviews mentioning “sandwich,” then ranked those spots using a number of factors, including the total volume and ratings of reviews mentioning “sandwich.” This list looked at businesses in the United States.  All businesses were marked open on Yelp as of July 24, 2022. When available, all businesses on this list have a passing health score as of July 24, 2022.

[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/top-sandwich-spots-in-every-state-2022/#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/top-sandwich-spots-in-every-state-2022/#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' >Comments</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>