Lance Stroll will partner Sergio Perez at Force India for the F1 2019 season, completing the grid for next year.
Stroll's switch from Williams had been expected after his father, Lawrence, brought the Force India out of administration in the summer. He then tested for the team in Abu Dhabi this week.
F1 in 2019: Full race schedule and driver line-ups
Find out more about Sky Sports F1
Stroll will take the place of Esteban Ocon, who has returned to Mercedes as their third driver for next season. Force India say the Canadian has signed a 'long-term deal'.
"This is the beginning of an incredibly exciting journey in my Formula 1 career," said Stroll. "I look forward to working alongside a successful team with a great culture. It's a new challenge and I am excited to embrace this new opportunity!"
Force India boss Otmar Szafnauer said they see "huge potential" in Stroll.
"Lance is only twenty and already has two years of Formula 1 experience under his belt, as well as a podium finish and a front row start," he said. "We see huge potential in Lance and believe we can create an environment in which he can flourish. Our team has enjoyed great success nurturing and developing young and talented drivers, and we are very excited to begin our journey with Lance."
Szafnauer also paid tribute to the departing Ocon: "I would also like to take the opportunity to thank Esteban for his contribution to the team over the last two seasons and wish him well for the future."
Stroll joined Williams at the start of 2017.
Although frequently tagged as a 'pay driver' on account of the financial munificence of his billionaire father, the Canadian youngster scored Williams' only podium finish in 2017 when he finished third at the Azerbaijan GP. Stroll ended his debut season just three points shy of team-mate Felipe Massa.
The final F1 2018 championship standings
Williams endured a torrid 2018 season, with their uncompetitive car offering scant opportunity for either Stroll or team-mate Sergey Sirotkin to impress. Stroll ended the year ahead of the Russian in the charts, outscoring Sirotkin by six points to one.
Robert Kubica and George Russell will drive for Williams next year.
Perez, who has driven for Force India since 2014, re-signed with the team two months ago.
Stroll's move to Force India is the final piece in the 2019 driver line-up jigsaw following confirmation Alex Albon will join Toro Rosso at the expense of Brendon Hartley.
Get the dedicated Sky Sports F1 channel - the exclusive home of all F1 next season - for £18 a month in HD with no contract. Get Sky Sports F1.