William Pettersson stod för Gamla Upsalas avgörande mål efter 84 minuter.
Gamla Upsala startade matchen bäst och tog ledningen. Ahmed Kanjou gjorde målet, redan i sjunde minuten. Det dröjde till den 73:e minuten innan Bruno Gonzalez kvitterade för Frej Täby.
Abdel Yussof gav Frej Täby ledningen med knappa kvarten kvar.
Bara två minuter senare var det William Pettersson som såg till att Gamla Upsala kvitterade till 2-2.
Gamla Upsala tog ledningen sex minuter senare på nytt genom William Pettersson.
För hemmalaget betyder resultatet andra plats i tabellen. Frej Täby är på fjärde plats.
Måndag 24 april 19.30 spelar Gamla Upsala borta mot IFK Västerås.