The Trades Union Congress, representing 14 health unions, said its research showed that health staff in England were "donating" £1.5 billion worth of unpaid overtime every year.
Unions said that by 2015/16 NHS staff would have had their pay capped for six years.
Pay was frozen in 2011 and 2012, and limited to 1% last year.
TUC general secretary Frances O'Grady said: "Every year, hard-working health service staff put in many extra hours which they don't get paid for.
These efforts save the government a hefty £1.5 billion a year, but even though this unpaid overtime is effectively keeping the NHS going, health service employees increasingly feel that the government is taking them for granted."
More top news
Today marks the fifth anniversary of the royal wedding. Here we look at the highlights, in pictures.
A US citizen has been sentenced in North Korea to 10 years hard labour after being found guilty of spying.
Mohammed Moshin Ameen sent a stream of tweets glorifying Islamic State after his attempts to go to Syria were thwarted.