Militanter beväpnade med vapen och granater kom in efter ett detonerat sprängämne vid en sjukhusport och öppnade sedan eld mot personal och patienter.
Kommandosoldater som landade på sjukhustaket i Sardar Daud dödade alla fyra angriparna efter flera timmars strider.
Den så kallade islamiska statsgruppen (IS) har gjort anspråk på attacken.
Talibanerna har förnekat all inblandning.
Mer än 50 personer skadades också, sade försvarsministeriet.
Världsmakterna trängs i Afghanistans nya "stora spel"
Hur framgångsrik har IS varit i Afghanistan?
Fast mellan IS och talibanerna
President Ashraf Ghani sa att attacken på 400-bäddssjukhuset "genomträngde alla mänskliga värden".
"I alla religioner betraktas ett sjukhus som en immun webbplats och attackerar det attackerar hela Afghanistan", sade han.
Anfallet började klockan 09:00 lokal tid (04:30 GMT). En sjukhuspersonal som kunde ta sig ut såg en angripare "med en vit rock som höll i en Kalashnikov och öppnade eld på alla, inklusive vakterna, patienterna och läkarna".
En anställd skrev på Facebook: " Attacker finns inne på sjukhuset. Be för oss."
Sjukhusattacken markerar en förändring i tillvägagångssätt av så kallade islamiska statskämpar i Afghanistan - det är första gången de har engagerat sig direkt med säkerhetsstyrkor i huvudstaden.
Tidigare har de riktat civila sammankomster, främst av Shia Muslims, samt orsaka blodbad vid Högsta domstolen förra månaden.
Men på sjukhuset använde de en strategi som var mer allmänt förknippad med talibanerna - att spränga portarna öppna för att tillåta beväpnade män att komma in. Detta tyder på att de nu har resurser och militär utbildning för att utöka sina attacker.
Om så är fallet, kan säkerhetsstyrkorna möta fler sådana attacker under de kommande månaderna.
Under de två år som gått sedan IS tillkännagav sin närvaro i Afghanistan har IS huvudsakligen engagerat sig med afghanska styrkor - och mer mäktiga, rivaliserande talibanstridande - i öster, nära Pakistans gräns. Det har hittills misslyckats med att bredda sin bas i landet - ett skäl, menar observatörerna, det kan nu öka fler rubrikgripande attacker.
Regeringen hävdar att den har rotat ut IS-militanter från ett antal baser i öst - men har ännu inte avlägsnat dem från bergiga områden som de kontrollerar.
TV - bilder visade människor som gömde sig för revolvermännen på avsatser utanför fönster på de övre våningarna i byggnaden.
Mer än sex timmar efter attacken twittrade inrikesministerns talesman Sediq Sediqqi att specialstyrkorna hade avslutat sin operation och alla angriparna var döda.
Den IS-anslutna Amaq nyhetsbyrån delade två bilder via Telegram meddelande app som verkade visa en av de militanter som deltog i angreppet och ett antal döda kroppar.
Afghanistans de-facto ställföreträdande ledare Abdullah Abdullah fördömde också attacken på Twitter och lovade att "hämta vårt folks blod".
IS meddelade att det var på väg in i Afghanistan och Pakistan när den förklarade sin så kallade khorasan provinsen 2015 och har sedan dess genomfört ett antal attacker.
I juli 2016 dödade en självmordsbomb mot ett rally i Kabul omkring 80 personer.
Tre månader senare krävde två liknande attacker under Ashuras religiösa högtid omkring 30 liv och i november 2016 dödade en attack vid en moské i Kabul mer än 30.
IS hävdade också en självmordsattack vid Kabuls högsta domstol förra månaden som dödade 22 personer och har intensifierat verksamheten i både Afghanistan och Pakistan.
Talibanerna har också utfört attacker och dödat 16 personer i Kabul i självmordsattacker för en vecka sedan, efter att ha påbörjat våroffensiven tidigt.
Mer än 30 personer har dödats efter att angripare klädda som läkare stormade det största militärsjukhuset i Kabul, säger afghanska tjänstemän.