"We all want a new India. I want to bow down my head and say thank you," he said in a victory address to supporters of his Bharatiya Janata Party (BJP).
The BJP is projected to get about 300 of the 543 seats in parliament.
It is likely to take a larger share of the vote than in the 2014 elections.
The main opposition alliance, which is headed by Rahul Gandhi's Congress party, has admitted defeat.