Vokes has formed a prolific partnership with Danny Ings and the former Bournemouth strikers have scored 31 goals between them this season.
The 24-year-old is just one goal short of his career-best tally of 12 goals in a season which he achieved with the Cherries in 2007/8 season.
Manager Sean Dyche said: "Sam is enjoying his football and developing as a player.
"We have all seen, so far, great signs of how his all-round game is improving and we are delighted he has decided to stay with us.
"I spoke to Sam in the summer and told him we wanted him to be part of what we are looking to do here at Burnley and he has responded to that challenge.
"He is putting in consistent performances and scoring goals and becoming the player we think he can be, so we are delighted that he is going to continue that process with us as we move the club forward."