Åtta människor skadades i dådet, av dem har ett barn avlidit, uppger den statliga nyhetsbyrån Hina med hänvisning till hälsodepartementet.
Både elever och lärare finns bland de skadade.
Attacken skedde klockan 9.50 på morgonen. Enligt den statliga televisionen HRT gick gärningsmannen rakt in i det första klassrum han hittade och började attacken.
"En ung man attackerade en lärare och flera elever med ett vasst objekt på en skola i Precko-området", lyder ett initialt uttalande från polisen.
Gärningspersonen har gripits på platsen. De skadade får vård på olika sjukhus i Zagreb.
Rörliga bilder i kroatiska medier visar hur barn springer från skolbyggnaden.
Myndigheterna arbetar fortfarande med att ta reda på exakt vad som hänt, meddelar premiärminister Andrej Plenkovic.
– Vi, liksom hela den kroatiska allmänheten, är chockade över den fruktansvärda tragedin på en grundskola, sade Plenkovic inför ett regeringsammanträde.
Skolattacker är sällsynta i Kroatien.