BJP supporters on the streets of New Delhi pointed out their party had secured the most seats and toasted that win.
“We are so happy about the results,” said 36-year-old office worker Archana Sharma.
She said she was “looking forward to supporting Modi and BJP” in the future, too.
Govind Singh, 38, an optometrist, said “having a strong opposition is necessary” but added that it was better to have a government with a parliamentary majority.
“Having a full mandate is essential for any country,” he said.
The BJP secured 240 seats in parliament, well down on the 303 from five years ago and 32 seats short of a majority.
The main opposition Congress party won 99 seats in a remarkable turnaround, almost doubling its 2019 tally of 52.
“The country has said to Narendra Modi ‘We don’t want you’,” opposition leader Rahul Gandhi told reporters after the results were released, saying people had given “the right response”.
Two key parties, the Telugu Desam Party (TDP) and Janata Dal United (JDU), with a total of 28 seats have said they back Modi’s alliance.
Commentators and exit polls had projected an overwhelming victory for Modi, who critics have accused of leading the jailing of opposition figures and trampling on the rights of India’s 200-million-plus Muslim community.
In a personal sting, Modi was re-elected to his constituency representing the Hindu holy city of Varanasi with a far lower margin of 152,300 votes. That compared with nearly half a million votes five years ago.