At least 18 soldiers were martyred and 23 terrorists were killed during gun battle in Kalat district of Balochistan province, the Inter-Services Public Relations (ISPR) said on Saturday.