Retired lorry driver Robert Edwards said he was eventually given a dressing gown to cover his bed after staff told him the stock of blankets had run out.
The 76-year-old widower said: "I was put in a bed but there were no blankets. I was freezing but when I asked a nurse for a blanket she told me they didn't have any - they had run out.
"Eventually they gave me a dressing gown to put over the sheet but that was all I had. It was still cold."
Edwards, of Splott, Cardiff, was taken to the University Hospital of Wales after collapsing at home.
He managed to ring his daughter, who called for an ambulance.
He claims his ordeal at the hospital also included a 52-hour wait in the Accident and Emergency (A&E) unit before he was transferred to a ward but the hospital insists it was not such a long delay.
From his hospital bed, Edwards told the South Wales Echo, "I was in A&E for a long time and they told me I had the C.difficile bug.
"When I was eventually given a bed I was put in an isolation room at the end of a ward and didn't have a blanket to keep me warm for two days and two nights.
"I couldn't believe it when they told me they didn't have any left.
"And to use the dressing gown to try to keep warm - it was horrendous and I can't wait to get back home."
Jonathon Davies, director of operations for the Cardiff and Vale NHS Trust, said: "We are unable to comment on individual cases. However, we would like to apologise to Mr Edwards for the delay and discomfort that he experienced.
"There was a temporary shortage of blankets on this ward and we have spoken to Mr Edwards to ensure that he has blankets and anything else he requires.
"We are happy to discuss any further concerns directly with Mr Edwards."