MPs have voted overwhelmingly in favour of spending £369 million on a major 10-year refurbishment of Buckingham Palace.
They backed changes to the Sovereign Grant - the funding formula for the monarchy's official duties - by 464 votes to 56, majority 408.
Two Labour MPs - Rushanara Ali (Bethnal Green and Bow) and Dennis Skinner (Bolsover) - were among those who opposed the move, including 46 from the SNP.
The Scottish National Party said it opposed the extra money being allocated for the Palace during a time of austerity.
But the party was immediately accused by a senior Tory MP of being “anti-English and anti-London”, amid tensions over Scottish First Minister Nicola Sturgeon demanding a second Scottish independence vote.
A review by the Royal Trustees - Prime Minister Theresa May, Chancellor Philip Hammond and Keeper of the Privy Purse Sir Alan Reid - last year agreed the works to the palace should be funded from a 66 per cent increase in the Sovereign Grant.
The grant will be raised between 2017 and 2027 from 15 per cent to 25 per cent of Crown Estate profits, which are paid to the Treasury.
MPs agreed to the legislation needed to initiate this change following a vote, with the result announced in the Commons.
Officials say the essential work is needed to avoid the risk of "catastrophic building failure" at the Queen's main residence.
An online petition calling for the royals to pay for the refurbishment rather than taxpayers attracted more than 145,000 signatures.
Buckingham Palace will be able to remain open to visitors and the monarch in residence throughout due to the decision to phase the works over 10 years.
The repair programme is due to begin in April.