Israel would not have bombed a building in the Lebanese village of Qana on Sunday had it known civilians were inside, a military statement says.
Following an inquiry into the attack, the army said it believed the building housed militants, and accused Hezbollah of using civilians as human shields.
The initial death toll was put at 54, with many of the victims children.
But Human Rights Watch has revised that figure downwards, saying 28 people are known to have died and 13 are missing.
The air strike, in the early hours of Sunday on a building where civilians were sheltering, drew international condemnation and renewed calls for a ceasefire.
The Israeli army said it targeted the building with two missiles, one of which exploded, because it was believed to be a "hiding place for terrorists".
"Had the information indicated that civilians were present in the building the attack would not have been carried out," the army said in a statement following its inquiry.
Lt Gen Dan Halutz, the chief of staff, apologised for the deaths, and has ordered the military to update its intelligence regarding bombing targets in Lebanon.
But he accused Hezbollah of placing "Lebanese civilians as a defensive shield between itself and us".
Meanwhile, the New York-based Human Rights Watch (HRW), citing local Red Cross and hospital records, said the 28 people confirmed to have died included 16 children.
"It now appears that at least 22 people escaped the basement," the group added in a statement.
According to its investigation, most of the victims belonged to the Shalhub and Hashim families.
Thirteen people remain unaccounted for, and some Qana residents fear they are buried in the rubble, although recovery efforts have stopped, HRW says