Both sides say they retaliated only after the other violated a ceasefire in place since 2003, allegedly killing civilians and soldiers on both sides.
The nuclear-armed neighbours have already fought two wars and a limited conflict over Kashmir.
But this year tensions between the rivals sharply intensified.
In February, India launched air strikes against militants in Pakistani territory in response to a suicide attack in Kashmir which killed 40 Indian soldiers. The Pakistan-based Jaish-e-Mohammad (JeM) group said it had carried out that attack.
In August, India stripped the part of Kashmir it administers of its partial autonomy, sparking sharp criticism from Pakistan. Since then Pakistani Prime Minister Imran Khan has been lobbying for international support against the move, which he has described as “illegal”.
Delhi and Islamabad both claim Kashmir in full, but control only parts of it.
A major escalation in hostilities on the border this year also threatens a ceasefire that was agreed in 2003. The latest round of shelling occurred on Sunday in the border villages of Titwal and Tangdhar in Kashmir’s Kupwara district but both sides provided differing accounts of what happened.
India accused Pakistan of targeting civilians and killing one man and injuring three others. The chief of the Indian army, General Bipin Rawat, told reporters that India retaliated by targeting militants and killing at least six Pakistani soldiers and destroying three camps.
But Pakistan’s army spokesman Major General Asif Ghafoor said it was India that had violated the ceasefire, “deliberately targeting civilians”. He said nine Indian soldiers were killed and several injured in retaliatory fire.
India’s home ministry says there have been over 2,000 “unprovoked” ceasefire violations across the de facto border by the Pakistani army so far this year, which have killed 21 Indians.
Pakistan says more than 45 people, including 14 soldiers, died in firing by Indian forces from across the border in 2019.