Rahul Narvekar of the BJP was on Sunday elected Speaker of the Maharashtra Assembly during the first day of its special session.
Narvekar, who polled 164 votes, defeated Uddhav Thackeray-led Shiv Sena candidate Rajan Salvi, who got 107 votes.
The Speaker's post was lying vacant since February last year after Nana Patole of the Congress resigned.
Narvekar (45) is the youngest ever Assembly Speaker in the country, Deputy Chief Minister Devendra Fadnavis said.
His father-in-law Ramraje Naik of NCP is the chairperson of the Legislative Council.
The two-day special session of the 288-member House got underway in the Vidhan Bhavan in south Mumbai at 11 am on Sunday. The Eknath Shinde-led government will face a floor test in the Assembly on Monday.
The Assembly has one vacancy due to the death of Sena's Ramesh Latke.
NCP legislator Narhari Zirwal could not vote as he is the deputy speaker.
After the vote count, Zirwal said, Some Shiv Sena MLAs voted against the party whip. Its recording should be verified and necessary action should be taken against them.
Out of the 287 legislators, 271 voted, while three MLAs - Rais Shaikh, Abu Azmi (both of the Samajwadi Party) and Shah Farukh (AIMIM) - abstained from voting.
As many as 12 MLAs did not attend the Speaker's election in the House.
Two of them - Laxman Jagtap and Mukta Tilak (of the BJP)- are suffering from serious ailments.
Two NCP legislators - Anil Deshmukh and Nawab Malik- are in jail in connection with different money laundering cases.
Four other NCP MLAs - Dattatray Bharane, Anna Bansode, Nilesh Lanke and Babandada Shinde - did not show up.
Bharane did not attend the Speaker's election because of his mother's death a few days back, an NCP leader said.
Two Congress MLAs - Praniti Shinde and Jitesh Antapurkar - also did not attend the session.
Antapurkar is getting married on Sunday.
Praniti Shinde is out of the country, a Congress functionary said.
AIMIM MLA Mufti Mohammad Ismail also did not attend the session.
Senior Congress leader and former Maharashtra minister Balasaheb Thorat, Thorat, in a statement on the floor of the House while congratulating Narvekar, said, "The Speaker's election took place in a transparent way. This is what we had been demanding with the governor for quite some time. It seems the governor was sleeping for one-and-a-half years.
Earlier this year, leaders of the then ruling Maha Vikas Aghadi (MVA-comprising the Shiv Sena, NCP and Congress) had urged Koshyari to approve the schedule for the Assembly Speaker's election during the budget session (in March).
Prior to it, in a previous legislature session, the then MVA government had amended the existing rules to facilitate the Speaker's election through a voice vote. The governor had described the decision as unconstitutional and sought legal opinion.
Meanwhile, Shiv Sena leader Aaditya Thackeray targeted the Eknath Shinde-led government on the stringent security arrangements in place for rebel Shiv Sena MLAs as they entered the Vidhan Bhavan premises from a nearby luxury hotel.
Rebel Shiv Sena MLAs, who support Shinde, returned to Mumbai from Goa on Saturday evening and were lodged in a luxury hotel in south Mumbai.
Before the session commenced, the Eknath Shinde-led Shiv Sena faction sealed the legislative party office in the Vidhan Bhavan.
A paper was stuck with a plastic tape on the closed doors of the Sena legislative party office in the Vidhan Bhavan, with a message in Marathi written on it saying, "The office is closed as per instructions of the Shiv Sena legislative party.
Last month, Eknath Shinde launched a rebellion against the party. Majority of MLAs sided with him, which led to the collapse of the MVA government led by Uddhav Thackeray.
Eknath Shinde was on Thursday sworn in as the 20th chief minister of Maharashtra, while BJP stalwart Devendra Fadnavis took oath as the deputy CM.