Sainz joined McLaren for the 2019 season, after spending time with Toro Rosso and Renault. Norris made his Formula 1 debut for the Woking squad earlier this year at the Australian Grand Prix.
The team has enjoyed a strong start to the 2019 season, as it currently sits fourth in the constructors' standings, 20 points ahead of rivals Renault.
"I’m delighted we’re able to announce our 2020 driver line-up ahead of the team’s home race at the British Grand Prix this weekend," said McLaren CEO Zak Brown.
"Both Carlos and Lando are proving themselves as racers and are integral to our path to recovery. They have made a real contribution to the positive momentum and morale within the team, both at the track and back at the factory.
"The reception they’ve received from our fans has been outstanding and they are superb ambassadors for the McLaren brand, personifying our Fearlessly Forward mentality."
Sainz and Norris both have a best result of sixth place as of the 2019 Austrian Grand Prix, with the latter finishing sixth on two occasions this year.
McLaren has bagged two consecutive double points finishes in the last two races, as it is building momentum to return to the front of the grid, targeting the 2021 regulations as its best opportunity.
Team principal Andreas Seidl added: "Today’s announcement provides the team with the continuity to keep pushing forward. The performance of both Carlos and Lando have been a key part of the team’s progress.
"Their feedback has enabled our engineers to develop the MCL34 and look ahead to the MCL35. Carlos has played a key role in developing the car using his experience, while Lando has got up to speed with the demands of Formula 1 incredibly quickly and is growing in confidence every weekend.
"This is welcome news for the whole McLaren team and we look forward to continuing our partnership together."
Bahrain International Circuit - Winter testing