Troops claim major victory amid reports of stiff resistance by Tamil Tiger fighters.
It was unclear what condition the merchant ships were in following the attack.
“One of the merchant vessels – MV Nimalawa – is sinking and the other vessel was damaged,” an unnamed defence official was quoted by the AFP news agency as saying.
But later, Commander DKP Dassanayake, a navy spokesman, said the boats and their crew had survived the attack.
“Two ships carrying humanitarian supplies to the north came under LTTE attack off Mailadi. Due to the nearby explosions, one ship got minor damage, but both are floating without casualties,” he said.
There was no independent confirmation of the incident, and the Tigers could not be reached for comment.
The Jaffna peninsula, which was captured from the LTTE in 1995, is of major symbolic and strategic value to the Sri Lankan government as it is the birthplace of Velupillai Prabhakaran, the LTTE leader, and enables government troops to attack the rebels from the north and south.
The UN says there are at least 230,000 people in northern Sri Lanka who have fled their homes since the military intensified its offensive against the LTTE.
India, home to most of the world’s Tamil population, last week increased pressure on Sri Lanka’s government to make sure it is caring for the people.
Mahinda Rajapaksa, the Sri Lankan president, insists that his government is supplying aid to the people of the region, even though it knows that some of the food is being taken by LTTE fighters.
The government has also allowed two UN-led food aid convoys in to the area, despite banning all aid agencies from the war zone last month.
The LTTE has been at war with the government since 1983, fighting to create a separate homeland for Sri Lanka’s minority Tamils.