Elliot Stroud sköt in 1–0 direkt. VM-spelaren fick yta utanför straffområdet och avlossade med vänsterfoten.
Aboubacar Keita kvitterade i den 18:e minuten. Han nickade in 1–1 efter en hörna.
I den 69:e minuten avgjorde Charles Sagoe Junior. Mjälllbys målvakt Robin Wallinder hade räddat hans första chans i den 64:e.
Segern var Kalmars första mot Mjällby på 1 819 dagar. 6 785 såg matchen på Guldfågeln Arena.
– Jag försöker alltid att spela med ett leende på läpparna och frihet, säger matchvinnaren till SVT Sport.
Sagoe Junior kommenterade även AIK-ryktet efteråt.
– Jag är här tills slutet av säsongen och ska hjälpa Kalmar klättra i tabellen, säger han till Barometern.
Alexander Almqvist debuterade i den 89:e minuten. Mittbacken fick äntligen sin första allsvenska match.
Kalmar fortsätter att plocka poäng på hemmaplan efter den starka insatsen mot Malmö FF.