Neal Maupay’s injury-time equaliser dealt a huge blow to Fulham’s promotion hopes.
Aleksandar Mitrović’s goal – his 10th since joining the Whites on loan – looked like taking them back above Cardiff into second place.
But Maupay, on as a substitute, headed in at the far post in the dying seconds.
It sealed promotion for Wolves and meant Fulham stayed a place below Cardiff, who won at Norwich earlier in the day.
Brentford, who are four points away from the play-off spots, started well, with Romaine Sawyers firing wide and Henrik Dalsgaard narrowly over early on.
Fulham responded and Bees keeper Dan Bentley produced a good save to deny Ryan Sessegnon, but the visitors finished the first half strongly and the unmarked Yoann Barbet missed a great chance to put them ahead with a header.
That miss looked like being costly for the Bees when Mitrović crashed a superb first-time strike in off the post after being found by Stefan Johansen.
But Brentford battled on and were eventually rewarded as the derby ended in dramatic fashion.
Fulham: Bettinelli, Fredericks, Odoi, Ream, Targett, McDonald, Johansen (Norwood 90), Cairney, Piazon (Kebano 53 (Christie 87), Mitrovic, Sessegnon.
Brentford: Bentley, Bjelland (Egan 45), Jozefzoon, Yennaris (Mokotjo 78), Watkins, Woods, Sawyers, Dalsgaard, Barbet, Mepham, Canos (Maupay 68).
This post was last modified on 14/04/2018