Burnley grabbed an early lead inside the first minute when Ross Wallace's cross was met by Charlie Austin, who volleyed home to make it 1-0.
Austin threatened again on 12 minutes, smashing a shot from 25 yards, but his effort was well saved.
Dean Marney had a strike from distance on 22 minutes, but his shot was deflected wide as Burnley continued to push forward.
After 31 minutes, Kieran Trippier fired a low strike at goal, but his effort flew just wide of the post.
Posh found an equaliser on 65 minutes through Tommy Rowe, who finished well to make it 1-1.
The home side then took the lead four minutes later when Rowe added his second, finishing well in the bottom-right corner to turn the game around.
Danny Ings had the chance to pull Burnley level on 73 minutes, but his shot was dragged wide.
Burnley did find the equaliser on 86 minutes when Martin Paterson smashed the ball high into the goal from six yards out.