@Needmoresleep London universities like LSE, UCL and Imperial manage to recruit staff because people from all over the world really want to work for them (and because similarly prestigious universities like Oxford and Cambridge are similarly not in cheap areas and don't attract the London weighting). In truth, there are some specialisms that it is more difficult to recruit for, but not so difficult that you couldn't find plenty of people who are good enough in the global market in which you are recruiting.
All staff in all subjects at all universities (except the private ones probably), whether Research and Teaching, Research only or Teaching only, are on the same national pay scale. Names of job titles and grades can be different, but there is supposed to be role parity (although most people would agree that there is not). Research income makes no difference. Individual academics don't get to keep their research income as part of their salary. If you bring in more research income, relative to expectations, you may use it as part of a case to be promoted faster, but that is all. The only way you can pay research staff more (or indeed less, which can be a particular issue for less experienced staff) is if they are not employed as academics, so for example, if you employ them as researchers in a spin-off company owned by the university. Then they are not part of the academic pay scale.
In reality, if you are afraid someone you really want to appoint might be lured away by competitor institutions or the private sector you can try to make a case for them to be appointed at one of the higher spinal points within their grade but you can only do that based on their existing experience, not just because you really want them or because they might be employed somewhere else, and you have to have agreement from the university. If you really want them you might try a bit harder to make a case, but all departments have budgets. This wouldn't result in a big increase in salary, but it is something.
The other thing you can do is to help people get promoted quickly. Although there are a certain number of spinal points within a grade and you normally progress by one spinal point a year until you reach the top of the grade and can progress no more unless you are promoted, you can be promoted to the next grade from any spinal point in the lower grade, you don't have to wait until you reach the top. Promotions are ultimately decided at the university, rather than the departmental, level and usually have somewhat clear evidence that must be presented to show you should be promoted and you can't get someone promoted if they can't demonstrate they essentially meet the criteria, no matter how much you are worried they might leave.
At some universities you can try to 'force' a promotion by getting an offer of employment at another university that has been deemed a peer or competitor university to your own, but offers of employment at a non-peer university or outside academia would usually not be considered and having an offer is no guarantee that your own university would decide to promote you to try and keep you. Some universities refuse to engage with this anyway, as people, moreso people trying to get promoted to Professor, were abusing the system by getting basically fake offers from their friends at other universities.
One thing top universities are increasingly doing is 'promising' staff appointed at Assistant Professor level that they will be promoted quickly to Associate Professor by placing a time limit on how long someone can remain at Assistant Professor level (somewhat similar to the tenure process in the US). In reality, this is actually a fairly brutal process that is not just designed to promote good people quickly but also to weed out people who aren't meeting your standards, because if you don't meet the criteria to be promoted within the required time-frame your contract will be terminated. Ambitious people don't generally see this down-side though and just see it as a guarantee they will be promoted quickly.