Fierce exchanges with Hezbollah fighters raged around Bint Jbeil, which lies less than 10km north of the strategic village of Marun al-Ras, which the Israeli army captured at the weekend.
The Israeli military confirmed that two of its soldiers were killed in battles near the town, while other reports put the toll at four.
Fourteen other soldiers were wounded, six reportedly by friendly fire.
General Alon Friedman, one of Israel’s senior commanders in the northern region, had earlier said the town, regarded by Israel as one of Hezbollah’s key centres, was “in our hands”.
But an Israeli military spokesman later said: “I can’t say we are in total control. We are operating in the town.”
Hezbollah said in a statement that fighting with Israeli forces continued on Bint Jbeil’s outskirts and the surrounding area. It confirmed two of its men had been killed.
It is feared some civilians are feared trapped amid the crossfire, sources in UNIFIL, the United Nations observer force, said.
Israeli aircraft demolished a house in the market town of Nabatiya, 25km north of Bint Jbail, killing seven civilians.
Hospital and security officials said the attack had killed the house’s owner, Saad Hamza, his wife and two sons, and three other males.
Hamza’s daughter was seriously injured in the raid and the wife of one of the men killed remained under the rubble.
It was not known if the woman under the debris was alive.
In northern Israel, a 15 year old Arab-Israeli girl was killed and four others injured when a rocket hit a house in Mghar.
Neighbours identified the victim as Duha Abbas. The rocket crashed through the roof of her house, killing her immediately, they said.
The attack followed a barrage of rockets fired from Lebanon on the northern port of Haifa, which injured at least five people, three of them seriously.
The deaths brought to 42 – 24 servicemen and 18 civilians – the number of Israelis killed since the current troubles started on July 12.