Skip to main content

At the #1 restaurant from Yelp’s Top 100, everyone is family



Broken Mouth | Lee’s Homestyle in Los Angeles ranked #1 on Yelp’s Top 100 Places to Eat in 2023.

Check out the rest of the eateries that made this year’s list and catch up on stories of past winners.


Chef Tim Lee cooks homestyle Hawaiian-Korean food at Broken Mouth, a love letter to the flavors he grew up with on the island of Oahu. But what he’s really serving is comfort. “I love food, I love my family, and I believe inviting a guest into our home—our restaurant—for a really comforting meal [is something] everybody can enjoy,” he said. 

At the #1 restaurant on Yelp’s Top 100 this year, food and family are forever intertwined. Tim, who said he’s “Korean by blood, Hawaiian at heart,” got his start working at his uncle’s Korean restaurant in Honolulu. After moving to Los Angeles in his 20s, he brought himself comfort by recreating the dishes of his childhood—starting with meat jun, a Hawaiian dish with Korean roots. Unable to find the thinly sliced, egg-battered ribeye in his new city, he made it the centerpiece of his own restaurant.

“That was the first item I had on the menu because I wanted the rest of Los Angeles to experience it,” Tim said. “It didn’t sell at all in the beginning, but now it’s our number one.” Today, Broken Mouth’s Yelp Page is full of rave reviews about Tim’s meat jun, noting its satisfying crunch and sweet-and-savory flavor. But it’s not just the marinade that makes this dish so sweet—Yelpers love Tim’s food because it “tastes like home.” 

As a business owner, Tim is dedicated to breaking boundaries through food, whether he’s adding Korean flair to a classic Hawaiian dish or creating a home base for the Hawaiian community in Los Angeles. He believes that sharing his memories of Oahu can bring everyone comfort, no matter where they’re from. And his friendly brand of customer service helped him secure the number one spot on Yelp’s 10th annual Top 100 Places to Eat list—announced on The Kelly Clarkson Show (aired January 25, 2023).

“I live out here in LA by myself, and my family is all in Hawaii,” Tim said. “So this is my way of bringing it together—so that I can show people in LA where I come from… and once people try [my food], we essentially become family.”

From Oahu to Los Angeles 

According to Tim, he was destined for the food world. His mother worked seven days a week at his uncle’s Korean barbeque spot, Sorabol, in between cooking dinner for Tim and his siblings. “When I asked my mom for some money in high school, she told me, ‘Come work with me at the restaurant,’” he said. 

Soon, Tim was motivated by more than spending money. He fell in love with the flavors at Sorabol, as well as other local specialties he sampled in Oahu: spam musubi, which his dad taught him to make for school lunches; Portuguese sausages, which his mom served for breakfast; and plate lunches, a popular Hawaiian staple that typically consists of white rice, macaroni salad, and a meat entree.

When Tim moved to Los Angeles to launch his own food career in his 20s, he recalled both his mother’s work ethic and homestyle cooking. “The hard work comes from my parents and my family,” he said. “They’ve all immigrated to the States, and all I’ve seen is hard work from them. They’ve all worked seven days, 365 days a year.”

Still, Tim notes that no one can survive the restaurant industry without work-life balance. He avoided burnout by pouring his passion into a project that meant more to him. “I was working so hard in corporate restaurants that I wanted to put that hard work into my own place and bring flavors that I enjoyed eating as I grew up [to Los Angeles], so that everybody else could experience them,” Tim said.

In 2017, Tim opened Broken Mouth in a small storefront in downtown Los Angeles—named after the Hawaiian saying “broke da mouth,” which describes food so good, you barely have time to chew. Every dish on the menu recalls a treasured bite from Tim’s childhood: spam musubi, the local plate (a breakfast of fried eggs and Portuguese sausage), and of course, meat jun. Many also contain a subtle Korean twist—swapping out white rice and macaroni salad for Korean greens and purple rice in the lunch plate, for example.

At first, Tim worried his food wouldn’t resonate with Los Angeles diners. Despite the city’s large Hawaiian population, he couldn’t find many of the dishes he grew up with in the local food scene. He spent months sourcing ingredients—even testing 10 different sausages from Hawaii. “It took me six months [to open after signing the lease] because I was so particular about the recipes,” he said. “I tasted it and remade it, tasted again, remade it, tasted it again.” 

Yet as soon as Broken Mouth opened, the reviews came pouring in: “I’ve been waiting for this place to open for a long time, and the wait has most certainly been so worth it,” wrote Chael C. in Broken Mouth’s first-ever Yelp review in September 2017. “Broken Mouth is an instant diamond in the rough, and I cannot wait to try the rest of their offerings.” 

The path to #1

Hearing from customers on platforms like Yelp confirmed that Tim’s vision had found its audience. It also helped him get the word out about his business—without spending a single cent on marketing. 

“[Yelp is] one of the top things that’s contributed to our success,” Tim said. “I have so many people that come in and they say they found us on Yelp. We’ve almost become a tourist destination because I have people coming directly from [Los Angeles International Airport] and driving to a food court in downtown Los Angeles, and I see them coming in with their luggage. It’s either their first or last meal [in the city].”

What other factors contributed to Tim’s success? Inspired by other successful restaurants in Los Angeles, Tim designed a compact menu to highlight what he does best—small menus like Tim’s not only save on supply chain and labor costs, but also help business owners pare down to a few quality offerings.

Tim also benefits from some expert knowledge: He said he used Yelp “religiously” when he first moved to Los Angeles, so he knows how important it is for navigating the food scene. Now that he’s on the other side of a Yelp Page, Tim regularly reads and responds to reviews—especially when customers offer critical feedback. “It’s always scary to see what’s coming in, but fortunately, I’m so surprised to this day that people are still rating us so favorably,” he said. 


I always try to exude aloha to everybody—just welcoming them into my home and treating them as family… The food can be great, but it’s not complete unless you’re giving them great service and making sure that they always feel welcome.

Tim Lee

But ultimately, customer service made the biggest difference in Broken Mouth’s meteoric rise, Tim said: “I always try to exude aloha to everybody—just welcoming them into my home and treating them as family… The food can be great, but it’s not complete unless you’re giving them great service and making sure that they always feel welcome.”

And the Yelp community feels it. After just 15 months in business, Broken Mouth placed fifth in Yelp’s Top 100 Places to Eat in the U.S. in 2019. “I can’t even believe it. I never would’ve thought that we would have won something like that,” Tim said in a local TV interview in 2019. Suddenly, Broken Mouth was on a national stage. Business doubled in the wake of his win—until the pandemic put the whole world on hold.

Facing losses after lockdown, Tim made the tough decision to downsize: He moved Broken Mouth to a nearby food hall, transitioned to counter service, and was ultimately forced to lay off most of his staff. With just one other person on the team, Tim would often be cooking, taking orders, and packing food all at once. “I was doing everything by myself. It was so tiring and I was so stressed out, I would break down and cry,” he said. 

What made it worth it was getting to do what he loved every day: sharing his love for food and family. Tim’s learned that you don’t need dine-in service to provide personalized attention—you just need to be as friendly and welcoming as possible. “I still go over the menu, still try to serve them as much as I can, and still try to give that Hawaiian hospitality and aloha to everybody that comes in,” he said. 

And even in a space that’s not entirely his own, Tim’s sense of comfort and community shines through. “The owner Timothy Lee is what truly makes Broken Mouth special,” said Yelp Elite Kelly K. [He] works very hard to serve a delicious plate of food.” Yelper Edlyn W. adds: “[Tim] Lee is one of the kindest humans you’ll ever meet! He serves his food with love and aloha spirit.”

Photo from Edlyn W. on Yelp

Dreaming bigger 

After experiencing so many challenges early in his career as a business owner, Tim said his Top 100 win feels even sweeter. “I’m very critical of myself,” he said. “[I would tell my younger self] to not be so stressed out. As I’ve gotten older, I always believe that as long as you keep working hard and you don’t give up, you’ll get through it.” 

Photo from Sasa F. on Yelp

Reflecting on his Top 100 win, Tim thanks the entire Broken Mouth family: “I never, ever thought that my simple food from Hawaii would make it this far. It’s amazing. I’m so grateful and I’m thankful to share this with everyone.”

Nor should you do it alone—Tim’s dedication to comfort and community turned regulars into friends, and friends into family. Their ongoing support helped him not only survive, but continue to dream bigger. 

For Tim, winning the Top 100 is also a step toward expanding beyond his small kitchen space in the food hall. With a goal of opening a second location, he’s currently pursuing support and investors to help him grow the business.

As for his family back in Hawaii, Tim said the news has already made a splash: “For immigrant parents to come here with nothing and for their children to succeed in the States, especially with restaurants, [which] is truly one of the hardest businesses—it’s the smallest margins, a lot of labor, a lot of hours. My mom knows firsthand exactly how hard it is because she’s worked all her life with my uncle and auntie. They’re so proud of me.”

Photos from Broken Mouth

Did you find this post valuable?

Click on a star to rate it.

Since you found this post valuable...

Follow us on social media for more great business resources!

We're sorry you didn't find this post valuable.

How could we improve it?

The information above is provided for educational and informational purposes only. It is not intended to be a substitute for professional advice and may not be suitable for your circumstances. Unless stated otherwise, references to third-party links, services, or products do not constitute endorsement by Yelp.

Business resources, delivered to your inbox

Get the latest blog content, info on virtual events, and the occasional freebie.

  • This field is for validation purposes and should be left unchanged.

By continuing, you agree to Yelp’s Terms of Service and acknowledge Yelp’s Privacy Policy.

[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='/businesses/at-the-number-1-restaurant-from-yelps-top-100-broken-mouth-everyone-is-family/#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='/businesses/at-the-number-1-restaurant-from-yelps-top-100-broken-mouth-everyone-is-family/#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>