Search in London is hyper-local. People search by borough and neighborhood, so a single London page rarely wins. For service businesses I build borough-level relevance through Google Business Profile service areas, location sections on service pages and locally earned links.
For national brands headquartered in London, the opportunity is usually technical: large sites, legacy CMS migrations and international hreflang between UK, Ireland and US versions. I've moved sites from Wix to Payload CMS + Next.js, all scoring 90+ on PageSpeed. See website migration SEO.
London has 32 boroughs plus the City of London, and they behave like separate markets. "Accountant Shoreditch" and "accountant Croydon" return different Map Packs, different directories and different competitors. A single London page almost never ranks for both.
Three patterns I see in London results: directories take the top slots for professional services (law, accounting and finance), so the way in is usually the long tail of specific service plus borough. Hospitality and clinics live in the Map Pack, where the profile, reviews and photos usually matter more than the website. HQ brands have technical problems, not local ones: crawl waste, legacy CMS migrations and hreflang errors between UK, Ireland and US sites.
I am registered at 71-75 Shelton Street, Covent Garden. That is a registered office, not a client meeting room and not a signal that I outrank a business with a real shopfront in Shoreditch or Clapham.