Militants have attacked an army base near a military academy in the Afghan capital, Kabul, killing at least 11 soldiers.
A defence ministry spokesman told the BBC that 16 other Afghan soldiers were injured.
Five militants were involved, said the spokesman. Four were killed in the attack, but one was arrested.
The attack has been claimed by the Islamic State (IS), according to the militant group's Amaq news agency.
It comes days after the deadliest bombing for months hit Kabul when an ambulance packed with explosives killed at least 100 people, including New Zealand doctor Hashem Slaimankhel.
Islamic State and the Taliban have increased their attacks on targets in the country in recent days.
Several explosions were heard, as well as small arms fire, as the attack began at about 05:00 local time at a military base of the Afghan National Army in the west of Kabul.
Defence Ministry spokesman Gen Dawlat Waiziri told the BBC two attackers had blown themselves up, two others were killed by security forces and another one was arrested.
Four AK-47s, one suicide vest and one rocket-launcher were seized, he said.
The president's spokesperson said that none of the attackers had been able to get further than the first gate, Afghan news website Tolo reported.
Afghan military institutions are frequently targeted by militants.
'Sandhurst in the Sand'
The base is next to the Marshal Fahim National Defense University which has been targeted by Taliban militants before.
In October 2017, 15 military cadets were killed in an explosion outside the Marshal Fahim military academy as they were leaving by minibus.
The university is referred to as "Sandhurst in the Sand" as it is closely modelled on the officer training academy in Britain.
The ambulance attack on Saturday took place just one week after another attack on a Kabul hotel killed 22 people - mostly foreigners. The Taliban said it had carried out both attacks.
The Islamic State group said it had carried out an attack on the international charity Save the Children in Jalalabad last week.