Skip to main content

How to spend 24 hours in Pittsburgh



Welcome to 24 Hours In Pittsburgh, where Yelp gets some hot tips from our local Community Manager, Rachel T.  Rachel knows this city better than most, and she truly enjoys helping locals discover hidden gems, and also showing off her favorite hot spots to out-of-towners. When she’s not hosting events and experiences for Pittsburgh’s Yelp Elite Squad, she can be found at a rock concert or making fresh pasta.  We caught up with Rachel to see what her most perfect day in Pittsburgh looks like.

7 am – Wake up! We have a lot to see, and no time to waste. Being the Leslie Knope of your city means we are on a schedule!  We’re going to start the perfect Saturday with a short 6 mile bike ride along the Eliza Furnace Trail (aka the Jail Trail to us Yinzers) to the South Side Loop. You can rent a Healthy Ride bike from one of their 100 stations across the city for only $2 for every 30 minutes.


We like to rent bikes from the First Ave & B St (T Station) Downtown and hop on the trail right there! Heading away from the city you will eventually come to the Hot Metal Bridge. Ride across the bridge and take in the beautiful scenic views of the Mon River. Start down the South Side Trail until you see The Highline.


Lock up the Healthy Ride bike and walk up the steps to grab a latte from de Fer Coffee & Tea at their new location in The Highline. They have a ton of outdoor seating with some of the best skyline views in Pittsburgh. In addition to a full coffee/tea menu, they have light food like paninis, pastries, smoothies and parfaits. Rachel loves an almond milk latte with an extra shot of espresso to start the day.

Photo of de Fer by Jehnie B on Yelp

9 am – Finish the bike ride across the Smithfield Street bridge back into Downtown since we’re getting hungry!

9:30 am– We are just in time for breakfast at one of the hottest new spots Downtown, The Speckled Egg; located in the Union Trust building on Grant Street. The architectural views inside are stunning! Rachel recommends ordering the goat omelette (seasonal vegetables, chevre, toast), and adding avocado. 

Photo of The Speckled Egg from Yelp Elite Jacqueline O on Yelp
Photo of The Speckled Egg from Kaitlyn H on Yelp

11 am – It’s time to take in some more city views while walking to her favorite Pittsburgh neighborhood, The Strip District. The 20 minute walk straight down Grant Street will lead you to Smallman Street where the historic Strip District begins. Explore the great local specialty food stores like Pennsylvania Macaroni Company, Stamoolis Bros Co., WFH Oriental Food Market, and more! Take in all the sights and smells while shopping and snacking your way through!

1 pm – Lunch time at Cafe Raymond! This is Rachel’s favorite lunch spot in all of Pittsburgh. She orders the Brown Bag special with the Veggie Wrap (Grilled portabella, eggplant, zucchini, squash, roasted peppers, baby spinach, basil pesto, feta & roasted garlic aioli), a side salad, and an oatmeal raisin cookie every time. You can sit outside on the sidewalk or on their second floor patio. Cafe Raymond is a family owned breakfast and lunch cafe that specializes in sandwiches, salads, blueberry ricotta pancakes, and more!

Photo of Cafe Raymond by the Business Owner on Instagram

2:30 pm – If you are still on foot at this point you can take a short 12 minute Uber/Lyft ride to Phipps Conservatory or Carnegie Museum of Art and Natural History. “Explore the beauty and wonders of nature at Phipps Conservatory and Botanical Gardens, encompassing 15 acres including a 14-room glasshouse and 23 distinct gardens.” Phipps is beautiful and serene, and it’s the perfect place to spend a quiet afternoon. 

Photo of Phipps Conservatory and Botanical Gardens by the Business Owner on Yelp

“Carnegie Museum of Art is arguably the first museum of contemporary art in the United States, collecting the “Old Masters of tomorrow” since the inception of the Carnegie International in 1896. Today, the museum is one of the most dynamic major art institutions in America. Their collection of more than 30,000 objects features a broad spectrum of visual arts, including painting and sculpture; prints and drawings; photographs; architectural casts, renderings, and models; decorative arts and design; and film, video, and digital imagery.” 

Photo of Carnegie Museum of Art by Yelp Elite Andy V on Yelp

Rachel could spend hours at both Phipps and the Carnegie Museum, so she recommends visiting one or the other to fully enjoy your time there. As you leave Oakland, admire the historic buildings at Carnegie Mellon University, the University of Pittsburgh, Chatham University, and Carlow University.

5 pm – We definitely recommend taking an Uber/Lyft at this point to happy hour just 4 miles away at The Allegheny Wine Mixer in Lawrenceville. They are a small, casual wine bar in upper Lawrenceville offering a handpicked wine list, including a selection of dessert wines, in a dressed-down, relaxed, inclusive setting. Beer, booze, and small plates too! Try a meat and cheese plate with a glass of one of their featured red wines. Their list changes all the time so this is a great place to try something new!

Photo of The Allegheny Wine Mixer by Yelp Elite Tina B on Yelp

6:30 pm – After a glass of wine and some cheese, we head to Con Alma. “Con Alma is a restaurant and jazz bar located on Ellsworth in Shadyside. Inspired by the rich heritage of jazz in Pittsburgh, Con Alma, which means “with soul,” seeks to return jazz to its rightful place at the forefront of the local music scene while providing patrons with some of the best food and drinks the city has to offer. Con Alma showcases current Pittsburgh musicians, with live jazz seven nights a week including their Latin Jazz Sundays.”  Try one of their unique house cocktails while enjoying the live jazz.

Photo of Con Alma by Andrew V on Yelp

8 pm – The day is coming to an end, but not without first hitting up Rachel’s favorite local Italian restaurant, Piccolo Forno. “Piccolo Forno is a Tuscan Italian restaurant in Lawrenceville. They feature wood fired pizza, handmade pastas, gelato, tiramisu, and so much more! Since 2005 they have strived to offer only the highest quality food made from the freshest seasonal and imported ingredients. Rooted in tradition, their menu reflects the simple and rustic cuisine that we love.” Rachel loves that this Tuscan restaurant features homemade pasta, reminiscent of her time in Italy. They are also BYOB! She recommends ordering the fichi e formaggi pizza as an appetizer (to share of course) and the seasonal Cavatelli pasta for your entree.

Photo of Piccolo Forno by Yelp Elite Jenna M. on Yelp

9:30 pm – If you saved room for dessert, it’s time for our last stop at The Butterwood Bake Consortium just 1 mile away. Convince yourself that if you walk there, you will burn off all those carbs you just ate! 😉 Butterwood is a dessert cafe featuring cake and pie by the slice, organic desserts, custom whole cakes, KLVN coffee and espresso drinks and organic teas. They are one of the few places open until 11 PM Thursday-Sunday, so it’s a great place to grab a fancy dessert after dinner! They have a great selection of vegan desserts too. Rachel loves the lavender tea cake with blackberry buttercream and the blueberry rose with fig cream olive oil love cake. Don’t forget to finish the evening with an espresso!

Photo of Butterwood Bake Consortium by Yelp Elite Alina M. on Yelp

Did your favorite local spots make this list? Remember, we only know how good a spot is when people take the time to review it, so share your thoughts on Yelp and maybe your favorites will be on our next blog!

Yelp connects people with great local businesses.
Get the free Yelp app and bookmark all these great places to visit in Pittsburgh!

[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/how-to-spend-24-hours-in-pittsburgh/#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_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/how-to-spend-24-hours-in-pittsburgh/#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>