Wearing a face covering in shops and supermarkets in England is to become mandatory from 24 July.
Those who fail to comply with the new rules will face a fine of up to £100, the government is to announce.
The move will bring England into line with Scotland and other major European nations like Spain, Italy and Germany.
Since mid-May, the public have been advised to wear coverings in enclosed public spaces, where they may encounter people they would not usually meet.
It has been compulsory on public transport since 15 June.
Health Secretary Matt Hancock is expected to set out the new guidance on face coverings on Tuesday.
They are designed to minimise the spread of coronavirus and also encourage people to return to the shops safely.
The announcement follows confusion about the government's intentions in recent days, with a senior minister suggesting on Sunday that people should use their "common sense" rather than being compelled to cover up.
Labour said ministers' response had been "slow and muddled" and questioned why the new rules would not come into force for 11 days.
The rules will be enforced by the police, with anyone disregarding them at risk of a fine of up to £100. This will be reduced to £50 if people pay within 14 days.
While shop workers will be encouraged to prompt customers to comply, they will not be expected to enforce the rules, allaying unions' concerns about their involvement.
In line with the rules on public transport, children under 11 and those with certain disabilities will be exempt.
In Scotland, the use of coverings in shops has been mandatory since 10 July. Shoppers in Wales and Northern Ireland are not currently required to wear them, although both nations have said this will be kept under review.
Boris Johnson signalled a shift in the government's position on Friday when he spoke of the need for a stricter approach in confined settings and was pictured wearing a mask in a shop in his Uxbridge constituency.
But in a BBC interview on Sunday, Cabinet Office minister Michael Gove downplayed the suggestion of any immediate legal change, saying he believed it should merely be a matter of "courtesy and good manners" to cover up.
Asked whether it should become mandatory, he replied "I don't think so, no".
'Slow and muddled'
Labour said the mixed messages were symptomatic of the government's indecision during the pandemic, and ministers had to explain the "further delay".
"The government has been slow and muddled again," said shadow health secretary Jonathan Ashworth.
"Given the government's own guidance issued on 11 May advised in favour of face masks, many will ask why yet again have ministers been slow in making a decision in this pandemic, and why it'll take another 11 days before these new guidelines to come into force."
A No 10 spokesperson said: "There is growing evidence that wearing a face covering in an enclosed space helps protect individuals and those around them from coronavirus.
"The prime minister has been clear that people should be wearing face coverings in shops and we will make this mandatory from July 24."
Unions have said the new guidance must be "clear and detailed" to protect staff and customers.
While welcoming clarity over the issue, Usdaw said coverings could not be a substitute for strict hygiene controls and social distancing measures, such as limiting the number of people allowed in a store at any one time.
Downing Street said it would keep the guidance on face coverings in other settings, such as offices, under review.
The London Chambers of Commerce said the move would "hopefully bring much needed reassurance to consumers and boost London footfall".
Face coverings have been compulsory in shops in Germany since the end of April and in Italy since 4 May. Similar rules came into force in Spain on 21 May and in Belgium on 11 July.
But they are not mandatory in France, where it is up to retailers to decide whether customers should wear them.