The BJP high command bowed to Lingayat leader Yeddyurappa in view of the Assembly elections due early next year and agreed to replace 59-year-old Gowda, a Vokkaliga leader, with Rural Development Minister Shettar, 56, who is a Lingayat.
"In view of the current political situation in Karnataka, Sadanand Gowda has handed over his resignation to me. In his tenure, he did work and the performance of our government was very good."
"There were no complaints against him on grounds of corruption but keeping the party's interest in mind, as a good party worker, he has resigned in the interest of the organisation," BJP President Nitin Gadkari told reporters in New Delhi.
He also announced that he has accepted Gowda's resignation on behalf of the party.
"Our party has decided to hand over the leadership to Jagadish Shettar," Gadkari said.
Senior BJP leaders Rajnath Singh and Arun Jaitley will go to Bengaluru on Monday to oversee the formal election of Shettar as Chief Minister of Karnataka by the party MLAs.
Asked if Deputy Chief Ministers would also be appointed by the party as was reported earlier, Gadkari said no such decision has been taken on this issue.
With the Assembly elections just 10 months away, the BJP central leadership realised that to put up a "good show", it will have to fight under the leadership of Yeddyurappa, whom many see as the undisputed leader of the Lingayat community which has always voted for the party, BJP sources said.