Brommapojkarna började matchen bäst och skapade flera farliga lägen, framför allt via sin högerkant.
Efter bara en minut svarade Ludvig Fritzson för ett bra förarbete och hittade Zeidane Inoussa som spelade vidare till Kevin Ackermann som sköt tätt utanför.
Efter två minuter slog Samuel Leach Holm en fin vändning ut till Fritzson till höger. Han hittade in i straffområdet till Oscar Pettersson som klippte till, men Jacob Widell Zetterström räddade.
Efter fyra minuter pressade Fritzson högt och bra och tog bollen av Rasmus Schüller. Wilmer Odefalk testade skott, men bra räddning av Widell Zetterström.
Efter elva minuter. Slog Leach Holm en lång boll till Oscar Pettersson som hittade in till Fritzson som klippte till, Widell Zetterström räddade till hörna.
Nej det ville sig inte för BP. Och då tappade man momentum, och Djurgården kom in i matchen.
Efter 24 minuter testade Magnus Eriksson skott en bit utanför BP:s straffområde. Filip Sidklev lämnade retur och Oskar Fallenius fick ett jätteläge men sköt över.
Djurgården behövde inte lika många chanser som BP för att göra mål. Efter 33 minuter kom 1-0. Samuel Dahl vann boll mot Oscar Pettersson. Fallenius utmanade till höger och hittade in till Lucas Bergvall som placerade in matchens första mål. 17-åringen, med ett förflutet i BP, valde att inte fira sitt mål.
Det stod 1-0 till Djurgården efter den första halvleken.
Efter 52 minuter fick bortalaget en farlig chans. Samuel Dahl var högt uppe och hittade in till Fallenius men avslutet gick tätt utanför.
Men sex minuter senare kom 2-0.
Återigen var det Samuel Dahl som var högt upp och spelade in bollen längs marken i straffområdet. Där mötte Fallenius och placerade in 2-0.
Men BP skulle också få in bollen.
Efter 78 minuter bröt Torbjørn Heggem ett anfall och satte full fart framåt. Han tog sig en bra bit in på motståndarnas planhalva innan han slog ett långt inlägg som gick över Widell Zetterström. Alexander Johansson fick öppet läge vid bortre stolpen och slog till men Marcus danielson räddade på mållinjen - men returen skickade Nikola Vasic in i mål.
I anfallet efter var det riktigt nära 2-2. Ludvig Fritzson frispelade Alexander Johansson, men avslutet var svagt och gick utanför.
Djurgården vann matchen med 2-1, men möjligen var segern dyrköpt. Mittbacken Jacob Une Larsson utgick efter en smäll mot huvudet.
Med två matcher kvar ligger Djurgården fyra och har fyra poäng upp till trean Häcken och åtta poäng ner till femman Kalmar FF.
- Det känns skönt att komma tillbaka hit och vinna, säger Bergvall till Discovery+.
Superlöftet tvingades utgå i slutminuterna med kramp.
- Det var det på riktigt. Många ville att jag skulle ställa upp mig, men det var kramp i dubbel baksida. Den är inte jätterolig.
BP är på kval och har tre poäng ner till Degerfors och tre poäng upp till IFK Göteborg. Båda har en match mindre spelad än BP.
- Det finns energi i det här laget. Vi ska se till att hålla oss kvar, säger BP-tränaren Andreas Engelmark i Discovery+.
Värt att notera är är att Mjällby och Sirius har säkrat sina allsvenska existenser i och med att BP förlorade.
Brommapojkarna: Sidklev - Abrahamsson, Löfgren, Heggem - Jensen, Fritzon, Leach Holm, Ackermann - Pettersson, Inoussa, Odefalk.
Djurgården: Widell Zetterström - Johansson, Une Larsson, Danielson, Dahl - Bergvall, Schüller, Eriksson - Fallenius, Gurbanli, Radetinac