Darren Bent’s second-half double looked likely to earn Steve Bruce’s men a rare win.
Bent’s first goal was a bundled effort on 52 which was cancelled out a minute later by Morten Gamst Pedersen’s right-footed shot which went in off the upright.
Bent gave the visitors the lead again on 65 when he latched onto a fine throughball and coolly slotted past Paul Robinson.
But Diouf came off the bench to make it 2-2 when he leapt highest to head home a deep cross from the right.
That set up a grandstand finish which bore little resemblance to the dismal fare on offer in the first period, with Marton Fulop brilliantly parrying a point-blank header from Nikola Kalinic before Chris Samba poked the rebound wide.