Congress, which conceded defeat, took 80 seats and the secular Janata Dal party won 28 seats. Independents took the other six seats, according to the commission.
For the BJP it was a double victory.
Setback for Congress
Not only was it the party's first win in southern India, helping them break out of their northern Indian stronghold, but it was also another setback for Congress which has fared poorly in a number of recent state polls.
National elections are expected in 2009.
The "triumph in Karnataka will prove to be a turning point," L K Advani, BJP leader and ex-Indian deputy prime minister, said.
"This geographical expansion of the BJP, and the simultaneous shrinkage of the Congress party almost all over the country, shows the shape of things to come in the run-up to the next parliamentary elections," he said.
Congress unexpectedly defeated the BJP in national elections in 2004.
Abhishek Singhvi, a Congress spokesman, dismissed Advani's statement as "completely misleading and inappropriate", noting that his party also gained seats in Sunday's elections.
In recent months Congress has been hurt by rising prices and continued dissatisfaction among the millions of rural poor who have not benefited from India's economic growth.