Without looking into too much detail, you also need to factor in that the listings might have more external citations which are causing them to rank higher in the results, the landing URL in Google's opinion is a better match right down to the location of the business in the city.
Getting more external citations and completing your listing 100% will help. Ensuring that the naming and address structure is the same across all external citations Yell, Yelp, Scoot etc.
On your URL on your Google places listing ensure that it contains the address, local telephone number of the business. This does not always need to be the homepage especially if you have multiple locations.
Hope this helps