Mads Hansen gav BP ledningen tidigt med ett skruv i bortre krysset. Men Mikael Anderson kvitterade omgående för hemmalaget.
I den 63:e minuten avgjorde Simon Strand. Han dundrade in 2–1 med vänstern efter en högerhörna. Målvakten Kristian Lien släppte skottet – han trodde bollen skulle gå utanför.
– Det var förlösande, säger Strand efter målet mot sitt gamla stadsrival.
Anderson var kritisk redan i paus.
– Jag vet inte om vi tror att vi leder med 5–0 eller något. Det går väldigt långsamt, säger han.
Joel Asoro var uppgiven efter matchen.
– Vi är Djurgården, det ska inte vara så här, säger han.
BP vinner för första gången sedan 2018 mot Djurgården i allsvenskan. De går om hemmalaget och upp på sjätteplats.
Djurgården har nu förlorat två raka hemmamatcher och avslutar våren i moll.