Ocon was originally thought to be on Renault's shortlist before they opted to keep Jolyon Palmer.
"He's an exceptional talent, as his status as a Mercedes junior demonstrates, and I have no doubt he will flourish inside our team," said Force India boos Vijay Mallya. "We've had our eye on Esteban for a number of years and have followed his progress through the junior categories where he delivered outstanding results."
"We ran him in the car last year during testing and his performance convinced us that he is more than capable of racing alongside Sergio," he added.
Ocon already has extensive Formula One experience, despite only making his race début in August's Belgian Grand Prix.
Ocon has tested for Force India, Mercedes, Renault, and Lotus, making five free practice appearances for the latter two.
"I'm still relatively new to Formula 1, but spending half a season at Manor Racing has given me some valuable experience and I feel ready for this new opportunity with Force India," Ocon said. "The next few months will be very busy as I do all I can to prepare for the challenge ahead of me."
"It means lots of days at the factory, working on the simulator and building relationships with the engineers and everybody in the team," he added. "I can't wait for 2017 and my first full season racing in Formula One."
Bahrain International Circuit - Winter testing