Lord Clarke said the £200 million national flagship demonstrates that some in No 10 believe there is “free money” despite the stretched state of the national finances.
Cabinet minister Matt Hancock insists the vessel will pay for itself by boosting British trade with countries where it can dock.
Lord Clarke’s criticism came as official figures showed that government borrowing stood at £24.3 billion in May – down from £43.8 billion a year earlier at the height of the pandemic, but still the second highest figure for the month on record and £18.9 billion more than in 2019.
Conservative peer Lord Clarke told BBC Radio 4’s Today programme that the new vessel is a “complete waste of time, silly populist nonsense” and “we have no money” for it.
“It’s a symptom – £200 million is not going to cause problems, but it shows there are people in No 10 who just think there’s free money and who think that waving a Union Jack and sending yachts and aircraft carriers around the world shows what a great power we are.
“We have no money for that kind of thing.”
The vessel will be paid for out of the defence budget despite not being a warship.
It will be the first national flagship since Britannia, which was decommissioned in 1997, but the new vessel will be a ship rather than a luxury yacht and is aimed at boosting the Prime Minister’s post-Brexit vision of the UK as a global trading nation.
Health Secretary Mr Hancock rejected Lord Clarke’s criticism of the scheme.
“The amount of investment that you can get in from the rest of the world by showing the best of Britain in harbours the world over is very, very significant,” Mr Hancock told Today.
“And I think we should be getting out there and trading with the world.
“And so I think that a royal yacht is a great idea and I’m very positive about it, because I think it will more than pay for itself many, many times over.”