73-year-old Patel's name was proposed and adopted unanimously at a meeting of the Legislature Party in the presence of Modi, who had moments earlier had resigned as the chief minister.
Modi's close aide Amit Shah and BJP General Secretary Thavar Chand Ghelot were also present.
Modi, the longest-serving chief minister of the state, who led BJP to a spectacular victory in the Lok Sabha elections, will take over as prime minister on Monday.
In her acceptance speech, Patel turned emotional and thanked Modi and others for making her the chief minister.
Patel, considered to be very close to Modi, is minister of Revenue and Urban Development in the Modi government. She was also a minister in the government of Modi's predecessor Keshubhai Patel.
A school teacher by profession, she had left her job to join politics.