Stoke are now four points adrift of safety in 19th place, winless in 11 matches and with just three more games to preserve their top-flight status.
Paul Lambert's charges began brightly in their search for a goal to settle early nerves and, indeed, they drew first blood with the first effort of the game.
The opener came about thanks to a neat team move, with Mame Biram Diouf, Joe Allen and Xherdan Shaqiri all involved, before Ndiaye swept home from 20 yards with the help of a slight deflection from Kevin Long.
Johann Berg Gudmundsson forced a good save out of Jack Butland with a 25-yard free kick on 35 minutes, but Stoke spurned a gilt-edged opportunity to double their lead just before the break when Diouf miscontrolled the ball in the box following Moritz Bauer's delivery.
Stoke would come to rue that miss as they were pegged back on 62 minutes, James Tarkowski seeing his header from Ashley Westwood kept out by Butland before Barnes forced the ball over the line with his thigh.
In one late attack, Stephen Ireland tried to curl the ball into the top right-hand corner of the net, and had Nick Pope beaten, but the effort clipped the outside of the post and drifted narrowly wide.
STOKE CITY (4-4-2): Butland; Johnson (Zouma 59'), Shawcross, Martins Indi, Pieters; Shaqiri, Allen, Ndiaye, Bauer (Ireland 69'); Diouf (Campbell), Crouch
BURNLEY (4-4-2): Pope; Lowton, Long, Tarkowski, Ward; Lennon (Hendrick 79'), Cork, Westwood, Gudmundsson, Barnes (Vokes 74'), Wood