Skip to main content

Top Places to Eat in Milwaukee



Yelp’s Top 50 Places to Eat is a list unlike any other “best of” out there. Sure, you’ll see your obvious local favorites on the list, but it’s also chock full of hidden gems and off-the-beaten-path joints like Amaranth Bakery & Cafe tucked away in Walnut Hill Neighborhood. From fine dining to donut shops — find them all in Yelp’s Top 50 Places to Eat in Milwaukee.

Did your favorite restaurant make it into the top 50? Let us know on Twitter and Instagram. Remember, we only know how good a spot is if you take the time to review it. So share your thoughts on Yelp, and maybe your favorites will be on next year’s list! 

Topping this year’s best places to eat list is Ono Kine Grindz, a Hawaiian food restaurant on the east side of Wauwatosa, sharing their passion for the cultural diversity and culinary uniqueness of the Hawaiian Islands.

Pro tip: You’re going to want to make a note of these spots, so we made it easy for you. For great businesses at your fingertips, get the Top 50 to-go. Follow this collection on Yelp.

  1. Ono Kine Grindz (Wauwatosa)
Combo Plate from Ono Kine Grindz

Cuisine: Hawaiian

What they’re known for: Hawaiian BBQ

Yelpers say: “Everything on the menu is FIRE. Wonderful meats, flavorful rice, interesting sides. I particularly like the carrot and pineapple slaw and the macaroni potato salad. I recommend getting a combo plate or multiple things to share, because trust me, you’ll want more!” – Nicole L.

  1. Santino’s Little Italy (Bay View)
Pizza Deluxe from Santino’s Little Italy

Cuisine: Italian 

What they’re known for: Traditional Neapolitan pizzas

Yelpers say: “The Pizza Paisano with its layered flavors in the tomato-pesto blend and that crumbled spicy Italian sausage just had my mouth flipping! And the cherry tomatoes! Shut the front door! They burst with much flavor for the taste-buds. I was in heaven with this pie.” – Chadrick J.

  1. Spicy Tuna (West Milwaukee)
Salmon Sensei, Angry Beaver, Milwaukee Sushi Rolls from Spicy Tuna

Cuisine: Asian Fusion

What they’re known for: Sushi

Yelpers say: “We got a Godzilla roll and when it came out it was the prettiest sushi display I had ever seen!  The sushi was awesome and their combination of sauces was even better. We also got fried rice which was amazing and I got the seafood ramen which was some of the best I have ever had!” – Brian H.

  1. Cosmos Café (Wauwatosa)
Jamaican Jerk Chicken Pita from Cosmos Cafe

Cuisine: Greek

What they’re known for: Gyros and other Mediterranean sandwiches 

Yelpers say: “I love the way that they finish off the gyro meat on the flat top. It adds a nice little crust to it without drying it out. Also, their tzatzki is an ethereal blend of cucumber and garlic awesomeness.” – Brian M.

  1. Bento Xpert (Milwaukee)
Pork Belly from Bento Xpert

Cuisine: Taiwanese and Chinese

What they’re known for: Authentic Taiwanese and famous street food

Yelpers say: “Food is absolutely delicious and in large generous portions. Every dish also comes with a tea-braised egg and a variety of vegetables. If you are a first timer, you may want to try their Taiwan Pork Chop bento. Otherwise, Braised Pork belly and three-cup chicken are all very delicious and authentic.” – Lico J.

  1. Tavo’s Signature Cuisine (Milwaukee)
Sopes a la carte from Tavo’s Signature Cuisine

Cuisine:  Mexican and Latin American

What they’re known for: Signature tacos

Yelpers say: “Absolutely phenomenal! I had three tacos, Shrimp, Tinga and Pastor. They were all traditional with the onions and cilantro on corn tortillas. They served the tacos with a verde salsa that was so fresh. I am really looking forward to going back!” – Amanda F.

  1. Story Hill BKC (Milwaukee)
Pork Chop Schnitzel at Story Hill BKC

Cuisine:  American

What they’re known for:  Dishes inspired by Upper Midwest ingredients and global technique

Yelpers say: “Whether it’s weekend brunch, co-worker lunch, or dinner, Story Hill BKC can’t be beat! I’ve been here many times for all of the above, and have always been impressed by this gem. Specializing in fresh local ingredients, I’ve never had a bad dish. Short Rib Benny is my fav for brunch.” – Kyle H.

  1. The Original (Milwaukee)
Cornish Hen from The Original

Cuisine:  American

What they’re known for: Craft cocktails and a  unique, monthly rotating menu

Yelpers say: “The charcuterie plate was amazing, paired with craft cocktails – can’t go wrong.  The entrees were flavorful and well sized, and the Chef whipped up a beer cheese soup for us!  Lastly, save room for dessert, we had one of each that was on the menu… my favorite, cheesecake!” – Annette C. 

  1. Morel (Milwaukee)
Mushroom Fricassee from Morel

Cuisine:  American

What they’re known for: Farm to table 

Yelpers say: “Wow, wow, wow. My mind has been blown by the incredible food, the well spoken staff and the lovely ambiance. The food is all so carefully handled and wonderfully prepared. I can’t wait to come back again and again.” – Zack F. 

  1. West Allis Cheese & Sausage Shoppe (West Allis)
Italian Sandwich from West Allis Cheese and Sausage Shoppe

Cuisine: American

What they’re known for: Cheese and meats

Yelpers say: “Every dish is fresh and made to order! You will absolutely be satisfied every time. It’s a New York specialty deli in the middle of West Allis! The food is extraordinary! Flavors that slap your tongue and make your stomach smile. I have never ever ever been dissatisfied.” – Ahnoki D.

  1. Tosa Bowl and Bun (Wauwatosa) 
  2. Bavette (Milwaukee)
  3. Mimosa (Franklin)
  4. Amaranth Bakery & Cafe (Milwaukee)
  5. Brothers Gyros & Pizza (Hales Corners)
  6. Damascus Gate Restaurant (Milwaukee)
  7. FreshFin Poké (Milwaukee)
  8. Sweet Basil (Franklin)
  9. Mara’s Grill (Milwaukee)
  10.  Blue’s Egg (Milwaukee)
  11. Swingin’ Door Exchange (Milwaukee)
  12. Crave Cafe (Shorewood)
  13. Twisted Plants (Cudahy & Milwaukee)
  14. Odd Duck (Milwaukee)
  15. Cranky Al’s (Wauwatosa) 
  16. Ally’s Bistro (Menomonee Falls)
  17. Rice N Roll Bistro (Milwaukee)
  18. Ca’Lucchenzo (Wauwatosa)
  19. Park Place Cafe (Milwaukee)
  20. San Giorgio Pizzeria Napoletana (Milwaukee)
  21. Lazo’s Taco Shack (Milwaukee)
  22. Pho Saigon (West Allis)
  23. St Paul Fish Company (Milwaukee)
  24. Cavas (Milwaukee)
  25. Honey Butter Cafe (Franklin)
  26. Mad Rooster Cafe (Milwaukee)
  27. Anodyne Coffee Roasting Co (Milwaukee)
  28. Kin by Rice n Roll (Wauwatosa)
  29. Boo Boo’s Sandwiches (Milwaukee)
  30. Beerline Cafe (Milwaukee)
  31. ​​Hungry Sumo Sushi Bar (Milwaukee) 
  32. Sanford Restaurant (Milwaukee)
  33. La Merenda (Milwaukee)
  34. Third Coast Provisions (Milwaukee)
  35. Uncle Wolfie’s Breakfast Tavern (Milwaukee)
  36. Anytime Arepa (Milwaukee)
  37. Nessun Dorma (Milwaukee)
  38. La Masa Empanada Bar (Milwaukee)
  39. Bacchus – A Bartolotta Restaurant (Milwaukee)
  40. R&R Poke (Milwaukee)

Methodology: This is an all-time list of the Top Places to Eat in the Milwaukee area according to Yelp. We identified businesses in the restaurant category on Yelp, then ranked those spots using a number of factors, including the total volume and ratings of reviews. This list looked at businesses in and around the Milwaukee area. All businesses were marked open on Yelp as of May 17, 2022. When available, all businesses on this list have a passing health score as of May 17, 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-places-to-eat-in-milwaukee/#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-places-to-eat-in-milwaukee/#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>