There’s a short answer to this question, and unfortunately it’s not always what most people like to hear! Remember that Google’s end goal is to always provide the most relevant results to their users. Simply put, if a person Googles “restaurants in greensboro”, they want to see just that – restaurants located in Greensboro! Your Raleigh-based restaurant may in fact be far superior, but you have to convince Google that your business, located in a different city, is somehow more relevant to the user than the scores of Greensboro restaurants out there. Without an outpost in your targeted city, you’re going to be fighting an uphill battle here.
Now, this changes slightly for businesses that provide services at a customer’s location within a given area (such as plumbers, electricians, etc.). Within your Google Places listing, make sure you’ve defined a service area, but don’t expect this to be a magic bullet – a business with a physical location in your targeted city will likely continue to have a huge advantage in local search results. If winning search in a given city is critical to your business’s success, seriously consider opening a new location, even just a part-time office. Also remember that a breach in the Google Places quality guidelines can result in your business being blacklisted/removed from search results – so try to avoid trying any funny business with your listing.