Skip to main content

Top Places to Eat in San Gabriel Valley



Yang’s Kitchen – The business

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 Lolita Fast Food tucked away in a gas station. From fine dining to taco food trucks — find them all in Yelp’s Top 50 Places to Eat in San Gabriel Valley.

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 GS Cafe and Ethiopian Cuisine, a black-owned business offering a variety of vegan-friendly dishes, all complimented with their spongy, airy injera, a sour fermented pancake-like flatbread.

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. GS Cafe and Ethiopian Cuisine (Covina)
GS Cafe and Ethiopian Cuisine – Shian L

Cuisine:  Ethiopian

What they’re known for: Awaze Tibs

Yelpers say: Having dinner here is how I reward myself after a difficult day. Wrapping up some beef and Key Sir with some fresh sourdough Injera is what I need to get in a good mood. The cuisine at this spot is reliably hot and dripping with layers of seasoning and flavor. – Andrew S

  1. C & R Fresh Foods (West Covina)
C & R Fresh Foods – Thuy Dan T

Cuisine:  Sandwiches, Juice Bar and Smoothies

What they’re known for: Pastrami sandwich and green juice

Yelpers say: C and R is honest, clean, simple food in a casual setting. It is independently owned. The sandwiches are very generous and served on really good quality bread. – Annmarie M

  1. BB’s Cafe (Covina)
BB’s Cafe – Tea T

Cuisine:  Soul Food

What they’re known for: Chicken and waffles

Yelpers say: The chicken and waffles were the perfect pairing of sweet and salty. The fried chicken however, really was one of the best fried chickens I’ve ever had in my life. The batter was perfectly seasoned and had the crispiest skin. – Jessica

  1. West Coast Cheesesteaks (Glendora)
West Coast Cheesesteaks – Albert H

Cuisine:  Sandwiches

What they’re known for: Cheesesteaks

Yelpers say: When I bit into my cheesesteak it was like heaven in my mouth. The meat was moist, flavorful, cheesy provolone cheese and plenty of veggies. The bread was so fluffy, crispy outside and soft inside. – Irene B

  1. Borreguitas Bar Express (Pomona)
Borreguitas Bar Express – Marcus M

Cuisine:  Mexican, Vegan, Vegetarian

What they’re known for: Wet burritos and street tacos

Yelpers say: I’m a born again vegetarian/vegan…Today is my first day, and Borreguitas was my first meal…The food was AMAZING! I couldn’t tell the difference if it was meat or not! (Not that I want meat anyway!) My point being is that it was so flavorful, and delicious, that I actually want more! – Michael M

  1. Gokí Café (Arcadia)
Gokí Café – Hannah S

Cuisine:  Coffee and Tea, Bakeries, Sandwiches

What they’re known for: Mexican baked goods

Yelpers say: Across the Arcadia gold line station I found home. By saying this I meant to say that Gokí cafe has brought me to my hometown, Oaxaca…It is nice to find somewhere where you can find authentic and high quality Mexican and even Oaxaca products like chocolate, mole, tortas, molletes, poleo tea and even creative fusions like mazapán lattes. – Mariana S

  1. El Caribbean Seafood Restaurant (La Puente)
El Caribbean Seafood Restaurant – The business

Cuisine:  Caribbean, Mexican

What they’re known for: Seafood

Yelpers say: The most dramatic dish was the Purgatorio Alta Mar, which we found can be ordered in a smaller size which we did since there was just two of us that wanted to try it. It was about $80 and was definitely enough for two people. That’s the dish with the awesome mojarra. – David M

  1.  Papas Best Sandwiches & More (San Dimas)
  2.  El Sazón De Las Gorditas (La Puente)
  3.  Alma Delias Restaurant (La Puente)
  4. Siam Casa (Baldwin Park)
  5.  The Curry Pizza Company #7 (Glendora)
  6.  Cajun Crawfish Stop (Covina)
  7.  Tofu Bean Korean BBQ (Rowland Heights)
  8.  Pulciano’s Deli & Cafe (San Gabriel)
  9.  Kaiba Japanese Restaurant (Monterey Park)
  10.  The Quarter Creole Cuisine (Claremont)
  11.  Mito’s Döner Kebap (Pomona)
  12.  E Sushi (Whittier)
  13.  Sabor a Perú (Covina)
  14.  Yang’s Kitchen (Alhambra)
  15.  Lu’s Garden (San Gabriel)
  16.  Ocean House Fish Grill (San Dimas)
  17.  Tony’s Tacos (Azusa)
  18.  Lov Ch Ch (Walnut)
  19.  Pizza Presto (Pico Rivera) 
  20.  1919 Lanzhou Beef Noodle (Arcadia)
  21.  Rail Side Cafe (San Dimas)
  22.  Mr Dragon Noodle House (Rosemead)
  23.  Grano Italian Restaurant & Wine Bar (Duarte)
  24.  Ginkgo Katsu (Diamond Bar)
  25.  Yakiya (Hacienda Heights)
  26.  Kazu Mori (Arcadia)
  27.  Yama Seafood (San Gabriel)
  28.  Curryland Indian Food (Pomona)
  29.  Monsieur Crêpe (Sierra Madre)
  30.  The Market Grill (Monrovia)
  31.  Flying Rice Asian Kitchen (La Verne)
  32.  Uptown Provisions (Whittier)
  33.  Lolita Fast Food (El Monte)
  34. Baekjeong (Rowland Heights)
  35.  Sushi Yuen (City of Industry)
  36.  Wähfles (La Verne)
  37.  Lord Empanada (Monrovia)
  38.  Jichan’s Onigiri-ya (Monterey Park)
  39.  Mariscos Jalisco (Pomona)
  40.  Nakazo Ramen Bistro (Alhambra)
  41.  Bun Street (West Covina)
  42.  Bánh Xèo Quán (Rosemead)
  43.  Caribbean Gourmet (San Gabriel)

Methodology: This is an all-time list of the Top Places to Eat in the San Gabriel Valley 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 San Gabriel Valley area.  All businesses were marked open on Yelp as of June 27, 2022. When available, all businesses on this list have a passing health score as of June 27, 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-san-gabriel-valley/#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' >Phone</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-san-gabriel-valley/#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>