Modi's name was announced by Bharatiya Janata Party President Rajnath Singh after a meeting of party lawmakers. It was preceded by efforts by party leaders to win an endorsement for Modi from Lal Krishna Advani, 85, the most senior party leader.
Advani stayed away from the lawmakers' meeting, apparently to show his opposition to the elevation of Modi, indicating a division within the party over Modi's role.
Several BJP leaders have previously said that they fear the party will fare badly in the national elections because of Modi's polarizing image.
The Congress party on Friday declined to comment.
"We don't want to say anything on the internal affairs of another political party," said Kapil Sibal, a senior Congress leader and telecoms minister.
The BJP says Modi has transformed Gujarat state, bringing industries, jobs, electricity and water in a country where power outages and joblessness are epidemic. The party considers him to be the best choice for bringing about similar changes at the national level.
The Congress party has been badly battered over the past year or so by a series of corruption scandals, bitter internal feuding, and an inability to deal with a stumbling economy and deep-rooted problems with poverty, infrastructure and education.
Manmohan Singh, a technocrat, was chosen to fill the prime minister's seat in 2004 by Sonia Gandhi, the widow of assassinated Prime Minister Rajiv Gandhi.
But he has been widely seen as a regent, keeping the seat warm until Rahul Gandhi was ready to take what some see as his birthright.