Buy-one-get-one-free deals on junk food are set to be banned after opposition parties gave Theresa May their backing to tackle the obesity crisis.

The Times reports this morning that stringent action to combat unhealthy lifestyles is due to be announced within weeks, reflecting a shift in public opinion in favour of measures such as banning junk food advertising before 9pm and preventing celebrities from endorsing fatty or sugary products.

The newspaper said that Labour, the Liberal Democrats and the Scottish National Party are warning the Prime Minister that she must not backtrack on measures being drawn up in Downing Street that could reshape the country’s relationship with junk food.

In a joint letter to the prime minister today co-ordinated by the chef Jamie Oliver and seen by The Times, the opposition leaders say that taking no action would condemn a generation of children to shorter lives than their parents. They call for 13 measures, including taxes on unhealthy food that could apply in supermarkets or restaurants.

Last night government sources said that many of the measures were due to be announced before the end of June. Drafts of Mrs May’s obesity strategy are circulating in Whitehall and today’s letter suggests that opposition parties will give new legislation an easy passage.

Other measures demanded by the opposition leaders include a 9pm watershed for junk food adverts and restrictions to stop them being seen by children online, a ban on using cartoons or celebrities to promote unhealthy products, mandatory traffic light labelling on the front of food packs and calorie labels on restaurant menus.

They also demand an extension of the levy on sugary drinks to include junk food.