The Vijay Mallya-led team had already retained Nico Hulkenberg for the next two seasons.
Perez, who joined Force India in 2014 after stints at Sauber and McLaren, is upbeat about his progress with the team.
"Since coming here I have really grown as a driver and I feel I am performing at my best. I have always said I want to establish myself in a team and it is the right moment to announce my commitment for the future with Sahara Force India," said the Mexican.
Team boss Mallya added: "He has done a fantastic job for us already and when we give him a competitive car we know he can get the job done. He has also got a great attitude and never gives up - it is that fighting spirit which fits well with this team. You only have to look at his results in the last three races to see that he is performing at the top of his game."