Benefit cuts imposed on pensioners, disabled and other people who stay long-term in NHS hospitals are to be scrapped, Gordon Brown has announced.
Elderly patients have lost about £28 each week
Up until now, people who receive money from the State who spend more than six weeks in hospital lose money from their weekly pensions or benefits.
The money is deducted to pay for so-called "hotel charges" associated with NHS care, such as meals and accommodation.
But in his Budget speech the chancellor said the charges, which have been in place since the foundation of the NHS, are unfair and wrong.
Speaking in the Commons, Mr Brown said they would be abolished with immediate effect.
"It's a hotel charge imposed on one of the most vulnerable groups in our society.
"For everyone else in our country, other than those on pensions and benefits, hospital care is entirely free of charge.
"Therefore, it is wrong that the elderly who have saved all their working lives for their retirement through national insurance contributions should now suffer the reduction of their pension entitlement to pay for hospital care.
This is fantastic news
"So for pensioners, even if they stay in hospital for up to a whole year, I am now announcing we will abolish this charge.
"That charge will be abolished with immediate effect for pensioners going into hospital from today."
It means elderly patients will keep in the region of £28 each week, which would otherwise be deducted from their pension. Overall, about 30,000 people will benefit from the move.
A spokesman for the Department for Work and Pensions said the changes applied to pensioners and those on benefits across the UK.
However, people who stay in hospital for more than one year could still face deductions from their pensions or benefits.
The charity Age Concern, which has been campaigning on this issue for some time, welcomed the announcement.
A spokesman told BBC News Online: "This is fantastic news for any older person worried about going into hospital and losing money.
"We were expecting the amount of time before the deductions started to be extended, but he's abolished it altogether.
"We are talking about a substantial amount of money that older people who have a long stay in hospital will save."
In his speech, Mr Brown confirmed the government was on track to significantly increase spending on the NHS over the coming years.
Overall spending will rise from £65.4bn last year to £87.2bn in 2006. By 2008, spending will total £105.6bn. A 1p rise in national insurance rates will fund the extra spending.
He told MPs the extra money would pay for an extra 25,000 more doctors and 80,000 more nurses by 2008.
But Liberal Democrat health spokesman Dr Evan Harris said: "It will take years for the new money to take effect as new doctors and nurses are trained and more hospital beds are provided."
Mr Brown also announced plans to increase the price of cigarettes by 8p in line with inflation. That decision was criticised by doctors.
Dr Ian Bogle, chairman of the British Medical Association, said: "We are dismayed that the tax on cigarettes has been increased only in line with inflation.
"Every year, 120,000 people die from tobacco related illness and the BMA had hoped to see a higher taxation increase on all tobacco products in order to prevent young people smoking and to help smokers quit."