Abdul Kabia, executive director of the United Nations Assistance Mission to Rwanda (Unamir), said the two sides used artillery and mortars, forcing the cancellation of all UN flights into the airport.
'There was a heavy exchange of fire from midnight onwards and a shell hit the hospital and killed about 30 patients,' he said. Government sources said 50 people died.
Residents said the mortar bomb hit a tent in the grounds of the hospital and killed all inside. The hospital is near the main barracks of the army, where the rebel Rwanda Patriotic Front (RPF) is trying to crush resistance before moving on to take the rest of the capital.
Mr Kabia said: 'Fighting has been very intense. Shells have also hit the Mille Collines (hotel), but as yet we have no reports of any casualties there.' Hundreds of civilians are trapped in the hotel under UN protection.
At least 12 mortar bombs and shells hit the UN compound in Kigali yesterday as fighting intensified between rebels and government forces. 'It seems there were no casualties,' said a journalist pinned down by the fighting. It was not clear who fired, but Unamir is located in an eastern part of the city held by RPF guerrillas.
Mr Kabia said Kigali was very tense and the UN presence in the capital was under constant review - despite the decision by the Security Council to send an extra 5,500 UN troops.
In Accra, President Jerry Rawlings said Ghana was willing to send troops to halt the slaughter in Rwanda but added that rich countries, such as the United States, must help with logistics and equipment.
He said: 'The responsibility to check this mindless slaughter and restore order must be shared by all, regardless of any differences in our political perspectives or philosophies.
'The half-hearted approach adopted by the international community has contributed to the carnage that the world is witnessing in Rwanda today.'