Swiss Finance Minister Eveline Widmer-Schlumpf and a British Treasury minister, David Gauke, inked the accord in London, their ministries said.
Under the deal, British residents can retrospectively tax their existing banking relationships in Switzerland either by making a one-off tax payment or by disclosing their accounts.
When the accord was struck in August, Switzerland said investment income and capital gains arising from previously undisclosed assets held by British residents would be covered by a final withholding tax, at a rate of between 27 and 48 percent.
The agreement comes into force in 2013.
Switzerland said in a statement the deal "satisfies the interests and requirements of both countries equally well".
The agreement between Switzerland and Britain is broadly similar to one that Swiss authorities signed with Germany last month.
Estimates in Britain put the amount of funds hidden by British residents in Switzerland at £125 billion ($192 billion).