Skip to main content

Yelp’s Top 100 Coffees in Australia



Whether you start your day at the gym, waking up the kids, or stumbling out of the house to work – there’s one ritual that is universal to the mornings of most Australians. You guessed it…coffee.

Australia is already known as one of the world’s best coffee destinations and we wanted to know the best spots where coffee-loving Aussies get their fix.

So we decided to bring back our annual list of the the Top 100 Coffees in Australia for 2016.

Luckily, millions of Australians come to Yelp every month to talk coffee (and breakfast and lunch and dinner and…well, you get the idea) and these users generate heaps of detailed information about local coffee businesses. From in-depth reviews to photos and more, Yelp has tons of data about the coffee preferences of Australians.

To determine Australia’s top 100 coffee spots for 2016, the data science brainiacs at Yelp analysed which coffee places were the most popular and well reviewed. They compared businesses from across the country using a ranking that considered total ratings and number of reviews, while also accounting for quality, popularity, and statistical fluctuations.

It’s no surprise that Melbourne holds its reputation as the Australian city with the highest proportion of coffee snobs. Perennial Melbourne laneway favourite Patricia takes the top spot and 27 Victorian businesses made the list overall (the best of any state). The other big surprise is Western Australia, punching well above its weight with 25 businesses featured in the Top 100.

Regardless of location and whether you like your latte wet or dry, prefer a pourover to a long black, or love the magical feeling of a strong flat white, there’s somewhere for every type of coffee snob on this list.

To celebrate these 100 great Aussie businesses, we’re also giving away some of Australia’s best coffee. So if you want to snag a national coffee prize pack featuring a variety of Australia’s best coffee beans and some epic brewing equipment valued at over $100, upload your best coffee-related photo by July 1 at bit.ly/YelpTopCoffee to go in the running.

You can also download the Yelp app to save these coffee spots and have your most caffeinated year yet. Share your favourites with @yelpanz on Twitter, Yelp Australia on Facebook, or using #iknowcoffee on Instagram.

Yelp’s Top 100 Coffees in Australia

  1. Patricia, Melbourne, VIC
  2. E For Ethel, North Adelaide, SA
  3. Social Brew, Pyrmont, NSW
  4. Lowdown, Perth, WA
  5. Bunker, Milton, QLD
  6. The League of Honest Coffee, Melbourne, VIC
  7. Coffee Branch, Adelaide, SA
  8. Monk Bodhi Dharma, Balaclava, VIC
  9. The Pantry on Egmont, Hawthorn, SA
  10. Toastface Grillah, Perth, WA
  11. Mister Sunshine’s, Thebarton, SA
  12. Brother Baba Budan, Melbourne, VIC
  13. Dukes Coffee Roasters, Melbourne, VIC
  14. Single Origin Roasters, Surry Hills, NSW
  15. Exchange Specialty Coffee, Adelaide, SA
  16. Room 10, Potts Point, NSW
  17. John Mills Himself, Brisbane, QLD
  18. Chu Bakery, Highgate, WA
  19. The Kettle Black, South Melbourne, VIC
  20. The Old Crow, Perth, WA
  21. Tuck Shop, Perth, WA
  22. Ltd Espresso + Brew Bar, Fortitude Valley, QLD
  23. Proud Mary, Collingwood, VIC
  24. The Steam Engine, Chatswood, NSW
  25. Caffiend, Cairns, QLD
  26. Campos Coffee, Newtown, NSW
  27. Scout, Brisbane, QLD
  28. The Yellow Deli, Katoomba, NSW
  29. Piccolo’s Corner, West Leederville, WA
  30. Everyday Coffee, Collingwood, VIC
  31. Paddy’s Lantern, Adelaide, SA
  32. Two Birds One Stone, South Yarra, VIC
  33. Three Williams, Sydney, NSW
  34. Peel Street, Adelaide, SA
  35. BTS Cafe, Adelaide, SA
  36. Cup of Truth, Melbourne, VIC
  37. Clement, South Melbourne, VIC
  38. tbsp., Bayswater, WA
  39. Bench Espresso, Perth, WA
  40. Harvest Espresso, Victoria Park, WA
  41. Le Monde Cafe, Surry Hills, NSW
  42. Market Lane Coffee, Melbourne, VIC**
  43. Seven Seeds, Carlton, VIC
  44. John Smith Cafe, Waterloo, NSW
  45. Workshop Espresso, Sydney, NSW
  46. Yocal, Fremantle, WA
  47. Bossman Coffee, Mount Lawley, WA
  48. The Cupping Room, Canberra, ACT
  49. Miss Jackson, St Kilda, VIC
  50. Small Print, Perth, WA
  51. Shouk Cafe, Brisbane, QLD
  52. Cafe Troppo, Adelaide, SA
  53. Esprezzo, Noranda, WA
  54. Flora & Fauna, Nedlands, WA
  55. Brewtown Newtown, Newtown, NSW
  56. The Coffee Barun, Sefton Park, SA
  57. St Ali, South Melbourne, VIC
  58. Delicatezza, Mitchelton, QLD
  59. Corner Store Cafe, Toowong, QLD
  60. Wedge Espresso, Glebe, NSW
  61. Roasting Warehouse, South Fremantle, WA
  62. Humblebee Coffee, Mount Hawthorn, WA
  63. Twenty & Six Espresso, North Melbourne, VIC
  64. Tripod Cafe, Redfern, NSW
  65. The Seasonal Garden Café, Hahndorf, SA
  66. The Cook And Baker, Bondi Junction, NSW
  67. Moana Coffee, Perth, WA
  68. Cobb Lane, Yarraville, VIC
  69. Chouquette, New Farm, QLD
  70. Top Paddock, Richmond, VIC
  71. The Premises, Kensington, VIC
  72. Dear Daisy, Forestville, SA
  73. Typika Cafe, Claremont, WA
  74. Sad:Cafe, Adelaide, SA
  75. Superstar Waffles, Perth, WA
  76. C.R.E.A.M, Brighton, SA
  77. Good Things, Mosman Park, WA
  78. Galleon Cafe, St Kilda, VIC
  79. No Name Lane, Broadbeach, QLD
  80. BREW, Brisbane, QLD
  81. The Noosa Chocolate Factory, Brisbane, QLD
  82. Red Cacao, Adelaide, SA
  83. South of Johnston, Collingwood, VIC
  84. Merchants Guild, Bentleigh East, VIC
  85. Daci & Daci Bakers, Hobart, TAS
  86. Waffle On, Melbourne, VIC
  87. Sherbet, Maylands, WA
  88. Three Bags Full, Abbotsford, VIC
  89. Caparezza, Adelaide, SA
  90. Gusto Food, South Perth, WA
  91. Journeyman, Windsor, VIC
  92. Sapore Espresso Bar, Perth, WA
  93. Shot on Military, Cremorne, NSW
  94. Mecca Ultimo, Ultimo, NSW
  95. Balderdash, Port Melbourne, VIC
  96. Yelo, Trigg, WA
  97. La Moka, Adelaide, SA
  98. Chalkys Espresso Bar, Fremantle, WA
  99. Manchester Press, Melbourne, VIC
  100. Coffee Tea & Me, Redfern, NSW

**(Multiple locations of this business ranked in the Top 100. Only the first was listed.)

Four of Australia’s best coffees (clockwise from top left): Flat white perfection at Patricia (from Sirie Y), foamy goodness at E for Ethel, a beautiful flat white at Social Brew (from James G), and a morning takeaway at Lowdown (from Scotty H).

Four of Australia’s best coffees (clockwise from top left): Flat white perfection at Patricia (from Sirie Y), foamy goodness at E for Ethel, a beautiful flat white at Social Brew (from James G), and a morning takeaway at Lowdown (from Scotty H).

[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='/community/yelps-top-100-coffees-australia/#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_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='/community/yelps-top-100-coffees-australia/#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>