The average GP now earns £106,000 a year, official figures show.
Figures from the Information Centre for Health and Social Care show average earnings rose by 30% during 2004-05, the first year of the new GP contract.
The new contract, which ushered in radical changes to the delivery of primary care services, was designed to give general practices additional funds to invest in improving and developing services to patients.
But ministers and NHS bosses have expressed concern that so much of the new money had apparently gone on pay, rather than on investment in services.
But the British Medical Association (BMA) said doctors had earned the rise.
GPs who worked in dispensing practices, which have a pharmacy attached, earned an average of £128,000 after expenses – a rise of 31%.
NHS Employers said it was “disappointed” that investment in the contract has resulted in significant increases in individual GPs’ incomes.
Dr Hamish Meldrum, chairman of the BMA’s GPs committee, defended the big increase in pay.
“Prior to the introduction of the new contract, there were serious recruitment problems and GP pay had fallen behind. This was officially recognised during negotiations and is reflected in pay increases under the new contract,” he said.