Deaths from the virus in Britain jumped to 335 on Monday as the government said the military would help ship millions of items of personal protective equipment (PPE) including masks to healthcare workers who have complained of shortages.
"From this evening I must give the British people a very simple instruction - you must stay at home," Johnson said in a televised address to the nation, replacing his usual daily news conference.
Johnson said people would only be allowed to leave their homes to shop for basic necessities, exercise, for a medical need, to provide care or traveling to and from work where absolutely necessary.
"That’s all - these are the only reasons you should leave your home," he said, adding that people should not meet friends or family members who do not live in their home.
"If you don’t follow the rules, the police will have the powers to enforce them, including through fines and dispersing gatherings," he warned.
The new measures would be reviewed in three weeks, and relaxed if possible.
The government will close all shops selling non-essential goods, Johnson said, including clothing stores, as well as other premises including libraries, playgrounds and outdoor gyms, and places of worship.
Advice to stay at home and avoid social gatherings went unheeded by millions at the weekend who took advantage of sunny weather to flock to parks and beauty spots, ignoring instructions to stay 2 meters (6 feet) apart.
Under the new measures, the government will stop all gatherings of more than two people in public who do not live together, and stop all social events, including weddings and baptisms but not funerals.
Parks would remain open for exercise but gatherings would be dispersed, Johnson said.
Later on Monday, Britain's lower house of parliament is expected to approve emergency legislation giving authorities sweeping powers to tackle the outbreak, including the right to detain people and put them in isolation to protect public health.
"Without a huge national effort to halt the growth of this virus, there will come a moment when no health service in the world could possibly cope; because there won’t be enough ventilators, enough intensive care beds, enough doctors and nurses," Johnson said in his address.
Earlier, in a letter pleading with him to increase PPE supplies, more than 6,000 frontline doctors warned they felt like "cannon fodder" and were being asked to put their lives at risk with out-of-date masks, and low stocks of equipment.
Health Secretary Matt Hancock admitted there had been issues but promised action was being taken. He said the army would drive trucks throughout the day and night to get supplies to medical staff.
"It's like a war effort - it is a war against this virus and so the army have been incredibly helpful in getting those logistics so we can get the supplies to protect people on the front line," he told the BBC, saying the health service now had 12,000 ventilators, 7,000 more than at the start of the crisis.