He accused the government of feeling it "need not obey the rules", adding: "Outright lies breed contempt."
Sir John's comments come while 12 gatherings are still being investigated by the Metropolitan Police.
He also said the UK's reputation was "being shredded", but Mr Johnson called this "demonstrably untrue".
The prime minister, speaking on a visit to Poland, declined to comment further on Sir John's criticisms, adding: "I'm going to have plenty to say about all that in due course."
He said he wanted to concentrate on diplomacy, after talks on the Ukraine crisis with Polish counterpart Mateusz Morawiecki.
The Met is reviewing its previous decision not to investigate a Christmas quiz in No 10 in 2020, after the Mirror published a photograph of Mr Johnson with three aides - wearing tinsel and a Santa hat - near a bottle of sparkling wine.
It also announced on Wednesday that it was emailing more than 50 people as part of its existing inquiry into lockdown parties, which could lead to fines for those found to have broken Covid rules.
Downing Street said the prime minister, known to have attended three gatherings, had so far not been contacted.
But, in a speech to the Institute for Government think tank, Sir John said: "At No 10, the prime minister and officials broke lockdown laws.
"Brazen excuses were dreamed up. Day after day the public was asked to believe the unbelievable. Ministers were sent out to defend the indefensible - making themselves look gullible or foolish."
Sir John, in office from 1990 to 1997, added that current ministers thought that "they, and they alone, need not obey the rules, traditions, conventions... of public life.
"The charge that there is one law for the government and one for everyone else is politically deadly, and it has struck home."
Sir John, who has previously criticised Mr Johnson over his handling of Brexit and called the government "politically corrupt" in its treatment of Parliament, urged the prime minister to introduce a "fully independent" guardian of ethics in politics.
"Lies can become accepted as fact, which... has consequences for policy and for reputation," he said.
"That is why deliberate lies to Parliament have been fatal to political careers, and must always be so."
Sir John Major has repeatedly criticised Boris Johnson and his government so the fact he is doing so again isn't going to come as a surprise.
But the words he has chosen to use are particularly strong, going as far as to state plainly that the prime minister broke the law.
That accusation, of course, is what the Met Police are currently investigating and Number 10 has repeatedly said people should wait for the outcome of that investigation.
It's also striking to hear a former Tory prime minister echoing Labour's attack line that it looks like one rule for the government and another for everyone else.
So while Sir John's intervention may not be entirely unexpected, it is yet more criticism from yet another source within the Conservative Party at a precarious time for the prime minister.
In a question-and-answer session after the speech, Sir John said he had "little doubt" lockdown rules had been breached, but it would not be "prudent" to pre-judge the police report.
Giving his reaction to Sir John's comments, Labour leader Sir Keir Starmer said: "It's time for the prime minister to go. That's in the national interest. The only people that could remove him are his own MPs...
"The important thing here is the prime minister's lost the moral authority to lead."
If 54 Tory MPs write letters of no-confidence in Mr Johnson, this would prompt a full vote on his future, which - if lost - would see him leave office.
Liberal Democrat leader Sir Ed Davey said Sir John had shown "bravery", adding: "This damning criticism should act as a wake-up call to every Conservative MP who is sitting on their hands while Boris Johnson trashes the values that underpin our democracy."
But Deputy Prime Minister Dominic Raab told BBC Wales: "I know Sir John well. I always listen to what he's got to say. I disagree with him."