I 21:a minuten kom 1-0 till SJK genom ett snöpligt självmål.
Ilves kvitterade till 1-1 i 34:e minuten, genom Ariel Ngueukam på pass av Adam Larsson. Direkt efter pausen slog Adam Larsson till och gav laget ledningen.
Med en knapp halvtimme kvar att spela fick Tuomas Kaukua träff framspelad av Pablo Andrade och kvitterade för SJK.
I den 73:e minuten fick Ilves Mikael Almen utvisad, och fick spela med en man mindre sista 17 minuterna.
I 75:e minuten gav Petteri Pennanen Ilves ledningen på nytt.
Kvitteringen kom i matchens absoluta slutskede, med tre minuter kvar att spela, när Matej Hradecky gjorde mål för SJK. Det fastställde slutresultatet till 3-3.
SJK har en seger, tre oavgjorda och en förlust på de senaste fem matcherna, medan Ilves har två vinster, en oavgjord och två förluster. Det här var SJK:s fjärde oavgjorda match den här säsongen.
För SJK gör resultatet att laget nu ligger på nionde plats i tabellen, medan Ilves är på femte plats.
I nästa match möter SJK FC Lahti borta på söndag 24 juli 16.00. Ilves möter HJK lördag 23 juli 14.00 hemma.