GPs wages are paid in a variety of ways, but all by the taxpayer eventually.
Most Practices are businesses owned by the partner GPs involved. They contract services to the NHS and therefore the GPS are paid by the practiec business, not the NHS. The NHS picks up the tab further down the line.
The system has changed recently to a requirement by practices to provide a specified range of servces to a certain number of patients within a defined area (defined by the local care trust). the more extra services of the most quality, and the more patients, the more money they get.
Prior to this, GPs were paid in two ways, fundholding and redbook systems.
In the older redbook system, a GP practice would charge the NHS for every task/duty carried out, for example, �20 for a patient appointment, �30 for a home visit, �50 a clinic, �100 per practice nurse etc (those figures are made up, but the real ones were listed in the official "red book" of fees, btw). This has benefits to the accountants as it was easy to judge but did not promote quality or variety
The other, fundholding, was introduced by Ken Clarke I think, was when a GP practice agreed to undertake services for a defined population and was given a set budget which they could use as they pleased - which rewarded efficiency and prudence.
In some areas, the NHS care trust employs Doctors directly at specific, very high, salaries. This is because a need for GP services is identified but no Doctors want to set up their own practices there. Often this happens in run down areas or densely populated areas.