The MP for North East Cambridgeshire and Leave supporter had been serving as a minister at the department for health and social care.
He replaces Dominic Raab, who resigned on Thursday over Mrs May's withdrawal agreement for Brexit.
A spokesman for No 10 said Mr Barclay will continue preparations for a deal or no deal in his new role.
The announcement comes after Amber Rudd was named the new work and pensions secretary - replacing Esther McVey, who also resigned over the PM's Brexit plans on Thursday.
Mr Barclay - a former director at Barclays Bank - has also held the posts of City minister and a whip at the Treasury.
BBC assistant political editor Norman Smith said he was not a "household name" and it was a "big promotion" for him.
But he also described Mr Barclay as "ultra-loyal", having never rebelled against the government.
Environment Secretary Michael Gove is understood to have turned down the role of Brexit secretary following Mr Raab's departure.
Mr Barclay becomes the third Brexit Secretary since the role was created, after Mr Raab and David Davis - who resigned over Mrs May's Brexit plans in July.
Mrs May agreed a draft withdrawal agreement for Brexit with her cabinet on Wednesday, which had already been signed off by negotiators from both the UK and EU.
But it led to a backlash from some Brexit-supporting MPs, including Mr Raab and Ms McVey.
Around 20 Tory MPs have publicly called for a vote of no confidence in the prime minister, with more thought to have written to the chairman of the backbench 1922 Committee to call for a vote on her leadership.
But Mrs May responded to critics saying she will stay in No 10 and see the deal through.