Russian 19-year-old Daniil Kvyat will race for the Toro Rosso team next season.
In a surprise move, the teenager, who competes in GP3, will partner Frenchman Jean-Eric Vergne, who has been retained for a third season.
Kvyat replaces Daniel Ricciardo, who has been promoted to Red Bull to fill the seat vacated by Mark Webber.
Toro Rosso team boss Franz Tost said Kvyat earned his seat with a "strong performance" during a test in July.
Portuguese Antonio Felix Da Costa had been next in line to replace Australian Ricciardo but has been overlooked after a mixed season driving in the Renault 3.5 category.
Da Costa said on his Twitter feed: "It hurts but it's like this. I'm happy for Daniil."
Kvyat described his promotion as "fantastic" and "a dream come true".
Tost said Kvyat had given "very informative technical feedback" at the young driver test at Silverstone.
"This suggests that the basic qualities from which he can progress are all in place," said Tost.
"Daniil can be sure that we will use all our experience of training youngsters to give him the best possible start to his Formula 1 career."
Webber will quit F1 at the end of the season to forge a new career leading Porsche's endurance racing programme.
At 19 years and 320 days by the time of the 2014 Australian GP, Kvyat will not be the youngest driver to debut in F1.
Competing in Formula 1 as a teenager is rare, but seven other drivers have taken part as 19-year-olds, as early as in the '60s with Mike Thackwell and Chris Amon.
Two of the sport's best current drivers, Sebastian Vettel and Fernando Alonso, made their debuts at the age of 19.
Vettel competed at the 2007 United States Grand Prix for BMW Sauber, finishing seventh, while Alonso drove at the 2001 Australian Grand Prix for Minardi, finishing 12th.