Skip to main content

Yelp’s Top 100 Places to Eat in Canada for 2017



“Where should we eat?” For the second year in a row, we’re helping you answer that age-old question with the return of our Top 100 Places to Eat in Canada list.  Just like last year, our data scientists compiled the top 100, ranking businesses by looking at their rating and the volume of reviews, only considering the reviews written by Canadian users. New for this year, we’ve focused more on more recent reviews to help you find your next meal.

The results of our data science team’s meeting of the minds is a list that combine classics like George and Kingyo and up and coming favorites like this year’s number 1 pick Muncheez. The list also shows that Toronto is one of Canada’s top foodie destinations with more than 40 of the top 100 eateries — more than any other city.

You’re going to want to make a note of these spots, so we made it easy for you. With our new bookmark collections feature, you can see the whole list in one place and follow it! To do so, open Top 100 Places to Eat 2017 – Canada on mobile (make sure to have the Yelp app downloaded!) and hit ‘follow’ once you’ve opened it in the app. Now you’ll always have the top 100 with you.

Did one of your favorites not make the list?  Share your thoughts on the list on social media using #YelpTop100 and tell us what you think. Don’t forget to check out our picks for the top places to eat in the United States!

A New York’s Own crepe from #1 Muncheez, by Kelly M.

Yelp’s Top 100 Places to Eat in Canada for 2017

Hot & New businesses that were first listed on Yelp within the last year are marked with ♦

Businesses that take reservations through Yelp are marked with

Businesses that appeared on our 2016 list are marked with

  1. Muncheez – Markham, ON ♥
  2. Baretto Caffe – Toronto, ON
  3. Wild Thyme – New Westminster, BC 
  4. Ay Caramba, Eh – Vaughan, ON 
  5. Alo Restaurant – Toronto, ON
  6. Under The Table Restaurant – Toronto, ON
  7. Chip+Malt – Newmarket, ON
  8. Yasu – Toronto, ON
  9. Fable – Vancouver, BC ♥
  10. Bread and Honey– Parksville, BC
  11. Bouillon Bilk – Montréal, QC
  12. Sushi Wa – Vaughan, ON
  13. Seven Lives Tacos Y Mariscos – Toronto, ON ♥
  14. New Orleans Seafood & Steakhouse – Toronto, ON
  15. Il Terrazzo – Victoria, BC
  16. Kaiju – Toronto, ON ♥
  17. Corner Nook Cafe – Chilliwack, BC
  18. Damas Restaurant – Outremont, QC
  19. Number e food – Vancouver, BC
  20. Stella Luna Gelato Cafe – Ottawa, ON
  21. Tibet Kitchen – Toronto, ON
  22. Antler Kitchen & Bar – Toronto, ON
  23. Jacobs & Co. Steakhouse – Toronto, ON
  24. AnnaLena – Vancouver, BC
  25. Wilf & Ada’s – Ottawa, ON
  26. OEB Breakfast Co – Calgary, AB ♥
  27. Agio – Toronto, ON
  28. Lazzez’s Grill Indian Cuisine – Coquitlam, BC
  29. Mystic Muffin – Toronto, ON ♥
  30. Mamajoun Armenian Pizzeria – Toronto, ON
  31. Chris Jerk Caribbean Bistro – Toronto, ON
  32. Richmond Station – Toronto, ON
  33. Duchess Bake Shop – Edmonton, AB ♥
  34. Miku – Vancouver, BC ♥
  35. Huevos Gourmet – Toronto, ON
  36. Tour De Feast – North Vancouver, BC ♥
  37. Cafe Frida – Montréal, QC
  38. Smithe Salad – Vancouver, BC 
  39. Ricks Good Eats – Mississauga, ON ♦
  40. Pai Northern Thai Kitchen – Toronto, ON ♥
  41. Indian Roti Kitchen – Vancouver, BC
  42. Banh Mi Boys – Toronto, ON ♥
  43. Byblos – Toronto, ON ♥
  44. The Bicycle Thief – Halifax, NS
  45. La Taqueria – North Vancouver, BC
  46. Rasa – Toronto, ON
  47. Padmanadi Vegetarian Restaurant – Edmonton, AB
  48. L’Avenue – Montréal, QC
  49. George – Toronto, ON
  50. La Taqueria Pinche Taco Shop – Vancouver, BC ** ♥
  51. Nuit Social – Toronto, ON
  52. Dac Biet Burger – Toronto, ON
  53. Blue Water Cafe – Vancouver, BC ♥
  54. Saint Sushi Bar – Montréal, QC
  55. One2 Snacks – Toronto, ON
  56. Fredie’s Fantastic Fish House –  Halifax, NS
  57. CHAU VeggiExpress – Vancouver, BC ♥
  58. Kazu – Montréal, QC
  59. Kishimoto Japanese Kitchen – Vancouver, BC
  60. Veggie D’Light – Toronto, ON
  61. Sansotei Ramen – Ottawa, ON ♥
  62. Sanremo Bakery – Etobicoke, ON
  63. An Indian Affair – Langley, BC
  64. The Himalayan – Calgary, AB
  65. The Rimrock Cafe – Whistler, BC ♠
  66. The Veggie Thali – Toronto, ON
  67. Fresco’s Fish & Chips – Toronto, ON
  68. So Hyang Korean Cuisine – Vancouver, BC
  69. 541 Eatery & Exchange – Hamilton, ON
  70. Maro’s – Oakville, ON
  71. Petit Nuage – Toronto, ON
  72. WaffleU – Vaughan, ON
  73. Molli Cafe – Vancouver, BC
  74. Yokato Yokabai – Montréal, QC
  75. Lola Rosa – Montréal, QC
  76. Banh Mi Bar Restaurant – New Westminster, BC
  77. Tasty Indian Bistro– Surrey, BC
  78. Scaramouche Restaurant Pasta Bar & Grill – Toronto, ON
  79. Boralia – Toronto, ON
  80. French Corner Bakery & Patisserie – Mississauga, ON
  81. Gus – Montréal, QC
  82. Le Robin Square – Montréal, QC
  83. Miku Toronto – Toronto, ON 
  84. Cafe Polonez – Toronto, ON ♥
  85. Tofu Village – House of Soon Tofu – Toronto, ON
  86. Sunny Morning – Toronto, ON
  87. Indian Grill – Toronto, ON
  88. Jam Cafe on Beatty – Vancouver, BC
  89. Peter’s Fine Dining Steak and Seafood – Markham, ON
  90. Ma Poule Mouillee – Montréal, QC
  91. Cluck Clucks – Toronto, ON
  92. Katsuya – Toronto, ON 
  93. JaBistro – Toronto, ON
  94. La Catrina Tacos – Vancouver, BC
  95. Budapest Restaurant – Toronto, ON
  96. Kingyo – Vancouver, BC
  97. Ramen Isshin – Toronto, ON
  98. Pizza Il Focolaio – Montréal, QC
  99. Falafel St-Jacques – Lachine, QC
  100. Pita Golden Pocket – Vaughan, ON

 

* La Taqueria Pinche Taco Shop in Vancouver also made the Top 100

 

Methodology:

To determine Yelp’s Top 100 Places to Eat in Canada for 2017, we looked at the reviews received by businesses in the restaurant and food truck categories, focusing more on more recent reviews. We considered both the rating and the volume of the reviews, although the weight given to the sheer number of reviews is distinctly lighter than it was last year. To localize the list, we only considered the reviews written by the users from Canada. Businesses must be primarily a restaurant or place to eat a meal to be included on the list. If a business with multiple locations appears more than once on the list, we keep the highest ranked location and mentions the others in a footnote.

[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_chrome 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/yelps-top-100-places-eat-canada-2017/#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_chrome 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/yelps-top-100-places-eat-canada-2017/#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>