Gujarat Parivartan Party (GPP) leader and former chief minister Keshubhai Patel on Thursday won from Visavadar constituency in Saurashtra region, officials said.
Patel won by about 20,000 votes against his nearest Bharatiya Janata Party rival Kanubhai Bhalala. The Congress had no candidate in Visavadar.
Patel, 83, was hoping to prevent Modi from securing a third term as chief minister. Modi has ruled Gujarat since he replaced Patel as chief minister in October 2001.