Elliot Stroud satte Mjällby i ledningen i den 19:e minuten. Paulos Abraham kvitterade bara tre minuter senare.
Jacob Bergström blev matchhjälte när han gjorde 2–1 strax före halvtid. 31-åringen hade tidigare vunnit SM-guld med Mjällby.
– Det tänkte jag väl när jag skrev på för Djurgården: "Nu har jag chansen". Men det blev ingenting där, säger Bergström till Fotbollskanalen.
I slutminuterna föll Abraham i straffområdet. Hammarby-spelarna ropade på straff men domaren friade. Viktor Gustafson blev utvisad efter att ha dragit Nikola Vasic i håret.
Hammarby-spelarna vägrade ta emot sina silvermedaljer.
– Jag vill inte ha något silver. Det börjar bli tråkigt, säger målvakten Warner Hahn till SVT Sport.
Tvåa i allsvenskan två år i rad. Nu ännu ett silver.
– Man har fått några silvermedaljer nu de senaste åren. De är man trött på, säger Nahir Besara.
Runt 2 000 Mjällby-supportrar reste till Stockholm för att se klubbens andra raka titel efter SM-guldet förra året.