Among those who will benefit are nurses, midwives, hospital porters, 999 call handlers, security guards, cleaners, radiographers and healthcare assistants.

Unions had claimed staff incomes had eroded by up to 15% since austerity began in 2010.

The deal means those at the top of bands will receive 6.5% over the three-year period with more for those below, through a combination of cost-of-living pay rises and faster incremental increases.

Lower-paid staff will also get an immediate £2,000 increase, taking them above the living wage.

Every NHS worker in England will be paid at least £8.93 an hour (18p above the real living wage of £8.75 an hour), or £17,460 a year if they work full-time.

Sara Gorton, head of health at Unison, which led the negotiations, said the end of the pay cap would be a huge relief to employers who have struggled to retain and recruit staff as a result of the government’s “mean-spirited” policies.

“The agreement won’t solve all the NHS’s problems overnight, but it will go a long way towards easing the financial strain suffered by health staff and their families over many years,” she said.

“This three-year pay deal must not be a one-off. Health workers will want to know that ministers are committed to decent wage rises across the NHS for the long term, and that this isn’t just a quick fix.”

The Treasury agreed to find £4.2bn of new money to ensure the pay increases would not come at the cost of jobs or patient care.

Only the GMB’s NHS members voted against the deal, by almost nine to one.

The Royal College of Nursing (RCN) said its members should begin receiving the largest pay rise in a decade in their July pay packets.

“We will turn our campaigning fire on getting this pay rise extended to nursing staff in other parts of the NHS and social care too. The care sector already suffers from high staff turnover and so pay must be boosted there too if we are to prevent a nursing exodus for better paid jobs in hospitals and the community.”

Negotiations are ongoing in Scotland and Wales but the absence of a government in Northern Ireland means the increase will be delayed there.

The health secretary, Jeremy Hunt, said the “incredibly well-deserved pay rise” would amount to up to 29%, with some of the biggest increases for the lowest paid.

“I hope this will also go some way to helping us recruit and retain more brilliant staff in our NHS,” he said.