Skip to main content

Yelp names Canada’s Top 100 Places to Eat in 2022



While dining out has changed since the pandemic began, one thing hasn’t changed – Yelpers love to eat! This year, we tapped the Yelp community for recommendations of their favorite restaurants and today we are thrilled to announce Canada’s Top 100 Places to Eat in 2022.

Toronto remains a top foodie destination, edging out Vancouver for the most represented city on this year’s list. This year’s no. 1 restaurant is a local Toronto sandwich shop, Grandma Loves You, where Yelpers love the homemade vegan cakes and creative hot dogs. Other Toronto picks include Sugo (no.17), an Italian cocktail bar; Juicy Dumpling (no. 28); and Burger Drops (no.26).

Our seventh annual list highlights quick service spots, brunch destinations and local neighborhood gems. This year, there’s something for everyone across Canada, at every price point.

British Columbia is well-represented on the list with Kingyo, a Japanese eatery in Vancouver coming in at second place. Other B.C. restaurants include Middle Eastern bakery Wild Thyme (no. 48 in New Westminster), Tutto (no. 67 in Vancouver) and Chad Thai (no. 84 in Burnaby).

In Quebec, 15 restaurants made this year’s list, including popular brunch spot L’Avenue (no. 14) and Celine Dion’s Schwartz (no. 44) in Montreal. 

Did your favorite restaurant make this year’s list? Let us know on Instagram, Twitter and TikTok with #YelpTop100.  Remember, we only know how good a spot is if people take the time to review it, so share your thoughts on Yelp, and maybe your favorites will be on next year’s list! Heading to the U.S.? Check out our Top 100 Places to Eat in the US for 2022

Methodology: To determine Yelp’s Top Places to Eat in 2022, Yelp reached out to the user community first, requesting individuals to nominate restaurants that they can’t wait to return to in 2022 in Canada. Yelp’s data science team analyzed the submissions from the community to determine the top restaurants by ratings, number of reviews, and volume of submissions, with geographic representation based on equal share of submissions of top-rated restaurants nationally. Yelp further curated the list with the expertise of our Community Managers around the country to finalize the rankings. The resulting list is collaborative and passion driven – an accurate reflection of the Yelp Community itself.

Yelp’s Top 100 Places to Eat in Canada in 2022:

  1. Grandma Loves You – Toronto, ON
  2. Kingyo – Vancouver, BC
  3. Kore Chicken – Markham, ON
  4. Pai Northern Thai Kitchen – Toronto, ON
  5. Descendant Detroit Style Pizza – Toronto, ON
  6. The Northern Cafe and Grill – Vancouver, BC
  7. Jam Cafe on Beatty – Vancouver, BC
  8. Hello Nori – Vancouver, BC
  9. Mazahr Lebanese Kitchen – Vancouver, BC
  10. J San Sushi Bar – Toronto, ON
  11. Red Fish Blue Fish – Victoria, BC
  12. Saku Robson – Vancouver, BC
  13. Ten Foot Henry – Calgary, AB
  14. L’Avenue – Montréal, QC
  15. Toro Toro Sushi – Vaughan, ON
  16. The Raven Bistro – Jasper, AB
  17. Sugo – Toronto, ON
  18. Raisu – Vancouver, BC
  19. Duo Cafe – Richmond Hill, ON
  20. Medina Cafe – Vancouver, BC
  21. Sula – Vancouver, BC
  22. Crêpes De Luxe – Mississauga, ON
  1. Namo Café Bistro – Calgary, AB
  2. Nourish Bistro – Banff, AB
  3. Cheongdam – Markham, ON
  4. Burger Drops – Toronto, ON
  5. Chinatown BBQ – Vancouver, BC
  6. Juicy Dumpling – Toronto, ON
  7. NextDoor Restaurant – Markham, ON
  8. Olive & Gourmando – Montréal, QC
  9. Yorokobi Japanese Restaurant – Thornhill, ON
  10. The Poke Guy – Vancouver, BC
  11. MiKi Sushi – Markham, ON
  12. Fable Diner – Vancouver, BC
  13. Siam Le Bien – Burnaby, BC
  14. One2 Snacks – Scarborough, ON
  1. Slice of Fire – Markham, ON
  2. Sumilicious Smoked Meat & Deli – Scarborough, ON
  3. IKON Sushi Bar & Lounge – Markham, ON
  4. Modavie – Montréal, QC
  5. Holy Cow Japanese Steakhouse – Toronto, ON
  6. Bouillon Bilk – Montréal, QC
  7. La Banquise – Montréal, QC
  8. Schwartz’s – Montréal, QC
  9. Pho Ngoc Yen Restaurant – Mississauga, ON
  10. Frankie We Salute You – Kelowna, BC
  11. Diana’s Oyster Bar and Grill – Scarborough, ON
  12. Wild Thyme – New Westminster, BC
  13. Dosanko – Vancouver, BC
  14. Big Trio Wonton Noodle – Aurora, ON
  15. Hoshi Sushi Bar – Vancouver, BC
  16. Maxine’s Cafe & Bar – Vancouver, BC
  17. 8Mile Detroit Style Pizza – Toronto, ON
  18. Phnom Penh – Vancouver, BC
  19. Trafiq Cafe & Bakery – Vancouver, BC
  20. Miku – Vancouver, BC
  21. Joe Beef – Montréal, QC
  22. Chuck’s Steakhouse – Banff, AB
  23. RYUS Noodle Bar – Toronto, ON
  24. Pepino’s – Vancouver, BC
  25. Aleppo Kebab – Toronto, ON
  26. Takara Sushi – Burnaby, BC
  27. Smash Kitchen & Bar – Unionville, ON
  28. Published – Vancouver, BC
  29. Hay Sushi – Toronto, ON
  30. Shanghai River – Richmond, BC
  31. Tutto – Vancouver, BC
  32. Sanremo Bakery – Etobicoke, ON
  33. Yasu – Toronto, ON
  34. Nightingale – Vancouver, BC
  35. Mangia Cucina & Bar – Vancouver, BC
  36. Sula Indian Restaurant – Vancouver, BC
  37. L’atelier Patisserie – Vancouver, BC
  38. Le Passé Composé – Montréal, QC
  39. The Wooden Spoon – White Rock, BC
  40. The Bicycle Thief – Halifax, NS
  41. Do Chay – Vancouver, BC
  42. Nori Japanese Restaurant – Nanaimo, BC
  43. Superbaba – Vancouver, BC
  44. Katsu San – Richmond, BC
  45. Cayenne Bistro & Grill – Burnaby, BC
  46. Rocket Pie – Canmore, AB
  47. Queens Breakfast Cocktails – Calgary, AB
  48. Chad Thai – Burnaby, BC
  49. Incognito Coffee – Vancouver, BC
  50. Block Kitchen + Bar – Banff, AB
  51. Le Cartet – Montréal, QC
  52. Yin Ji Chang Fen – Montréal, QC
  53. Tres Carnales Taqueria – Edmonton, AB
  54. Ramen Arashi – Banff, AB
  55. Kazu – Montréal, QC
  56. Damas – Montréal, QC
  57. Pip – Edmonton, AB
  58. Monarque – Montréal, QC
  59. Sunhouse Cafe – Jasper, AB
  60. Mallard Cottage – St. John’s, NL
  61. Sushi Momo Végétalien – Montréal, QC
  62. Bridgette Bar – Calgary, AB
  63. L’Express – Montréal, QC
  64. The Workshop Eatery – Edmonton, AB
[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='/news/yelp-names-canadas-top-100-places-to-eat-in-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>
[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='/news/yelp-names-canadas-top-100-places-to-eat-in-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' >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>