The hosts were quickest out of the starting blocks as James Tarkowski connected with a free kick launched into the box just two minutes in but headed wide of target.
The Potters continued to have the better chances midway through the first half as Mame Biram Diouf headed wide after being picked out by Ramadan Sobhi and later forced a corner with a chance deflected wide by Tarkowski.
However, Burnley finished the first half strongly as a spell of pressure culminated in Johann Berg Gudmundsson curling over the bar from the edge of the box.
Neither side could break the deadlock by half time and, despite both teams enjoying numerous chances after the restart, the game remained goalless heading into the final minutes.
However, Sean Dyche's side managed to find the breakthrough in the 89th minute as Stoke failed to deal with Jack Cork's long ball, allowing Scott Arfield and Ashley Barnes to exchange passes near the box before the latter slotted past Jack Butland.
Burnley (4-5-1): Pope; Bardsley, Long, Ward (Taylor 41'), Tarkowski; Defour, Cork, Gudmundsson, Hendrick (Barnes 71'), Arfield; Wood (Vokes 82')
Stoke City (4-4-2): Butland; Zouma (Wimmer 66'), Shawcross, Cameron, Pieters; Allen, Fletcher, Sobhi, Shaqiri (Choupo-Moting 84'); Crouch, Diouf