8:57 pm: Final tally has BJP winning a majority with 99 seats, which is 17 fewer than the 2012 assembly election in the state. Their total vote share in this election is 49.1%, which is an improvement from the last election (47.85%).
Congress won 77 seats, with a 41.4% of the vote share. This is a remarkable improvement from 2012, when it won 60 seats and got 38.93% of the vote share.
8:50 pm: BJP has won 98 seats, while Congress' tally is at 76. Both parties are leading in one constituency each. The Nationalist Congress Party has won one seat, the Bharatiya Tribal Party has won two seats, and independent candidates have won three others.
8:31 pm: Congress has won 76 seats, and is leading in one constituency.
7:56 pm: BJP has won 97 seats, and is leading in two constituencies. Counting is still underway in three seats.
7:44 pm: Congress has won 75 seats, and is leading in two constituencies. This is a marked improvement over its tally in 2012, when it won 60 seats. The party's vote share is 41.4%.
6:50 pm: PM Modi takes a dig at Congress, refers to caste politics as "poison".
6:45 pm: "The Gujarat polls are a source of double happiness for me," Modi tells audience. "I am so happy that after I left the state, my colleagues there continued the good work."
"After 2014, there is hunger for development. Even if you do not like BJP, do not try to derail the progress being made towards development."
6:36 pm: Prime Minister Narendra Modi addresses press conference in BJP headquarters in New Delhi. "The Gujarat elections are historic," he says. "Any victory to an incumbent government is a big victory."
6:29 pm: BJP wins 93 seats to get a majority in Gujarat. It will form government in the state for the sixth consecutive time.
6:16 pm: BJP is at the halfway mark, with 91 seats. It needs one more win to officially win the assembly election. It is leading in eight constituencies.
5:52 pm: BJP has won 85 seats, is projected to win in 14 others. It needs seven more seats to form government in Gujarat. Congress has won 71 seats, and is leading in six other constituencies.
5:17 pm: BJP wins 84 seats, leads in 15 constituencies. Congress wins in 70 seats, leads in seven others.
4:30 pm: Congress party president Rahul Gandhi concedes defeat, thanks voters.
4:25 pm: "We won comfortably increased our vote share," says Amit Shah of the Gujarat elections in a press conference. "It was not a close contest at all."
BJP's vote share so far, according to Election Commission data, is 49.1% in Gujarat. Congress' share is 41.4%.
4:18 pm: BJP has won in 68 seats, while Congress has won 59 seats.
4:08 pm: "We are now entering an era of politics of performance. In this new age, the party that does the most will get victory," Amit Shah says in press conference. "This is the sixth time we are going to form government in Gujarat."
3:45 pm: BJP wins 53 seats, Congress wins 47. BJP is leading in 46 constituencies while Congress is up in 30 others.
3:31 pm: Prime Minister Narendra Modi declares victory in Gujarat and Himachal Pradesh, thanks voters.
"Election results in Gujarat and Himachal Pradesh indicate a strong support for politics of good governance and development," he tweeted. "I salute the hardworking BJP Karyakartas in these states for their hardwork which has led to these impressive victories."
3:20 pm: Hardik Patel alleges that EVM machines are tampered in Surat.
2:19 pm: BJP has won 18 seats, and is leading in 82 constituencies. Congress has won 15 seats and is leading in 62 constituencies.
1:55 pm: Dalit leader Jignesh Mevani flashes victory sign. The 37-year-old is all set to win his maiden election from Vadgam.
1:34 pm: BJP has won 10 seats, while Congress has won 8.
1:15 pm: BJP workers in various parts of the country start celebrating.
12:48 pm: BJP has won in four constituencies, and is leading in 98 others. Congress has won one seat and is leading in 73 constituencies.
12:28 pm: Gujarat deputy CM Nitinbhai Patel has taken a clear lead in Mahesana over Congress' Jivabhai Patel. BJP is leading by about 7,000 votes in the constituency.
12:22 pm: BJP has won two seats and is leading in 102 constituencies. Congress has won in one seat and is leading in 71 constituencies.
12:00 pm: Gujarat CM Vijat Rupani will retain his Rajkot West seat.
11:43 am: BJP is leading in 103 constituencies, and has won in Porbandar. Congress is leading in 72 constituencies.
11:37 am: Election Commission declares BJP victory in Porbandar constituency. The BJP candidate won over their Congress rival by about 2,000 votes.
11:30 am: It's a neck and neck contest between Gujarat deputy CM Nitinbhai Patel and Congress' Jivabhai Patel in Mahesana with barely a difference of 500 votes between them. BJP is leading in the constituency, but by a whisker.
11:12 am: Dalit leader and independent candidate Jignesh Mevani has a clear lead in Vadgam, while OBC leader Alpesh Thakor who is contesting as a Congress candidate from Radhanpur is also leading with 9,000 more votes than the trailing BJP candidate.
10:57 am: Gujarat chief minister Vijay Rupani has a clear lead at Rajkot West with close to 33,000 votes. Congress' Indranil Rajguru is far behind at 17,551 votes.
10:55 am: BJP leading in 99 constituencies, while Congress is up in 71. BJP's vote share is 49.1% as compared to Congress' 41.5%.
10:27 am: BJP leads in 95 out of 182 constituencies, Congress leads in 68. The BJP vote share is currently at 48.7%.
10:12 am: Gujarat chief minister Vijay Rupani swings back up with a clear lead in Rajkot West constituency. He is about 4,000 votes ahead of Congress' Indranil Rajguru. Counting is still in progress.
10:02 am: BJP leading in 86 constituencies, while Congress is leading in 66. Vote share between the two parties is divided almost evenly.
9:55 am: Independent candidate Jignesh Mevani, a Dalit leader fighting his first election, is leading in Vadgam constituency, with the BJP candidate trailing. Read his interview with HuffPost Indiahere.
9:47 am: Gujarat chief minister Vijay Rupani is trailing in Rajkot West, with Congress' Indranil Guru leading with about 400 more votes than Rupani. It's a neck and neck contest.
9:44 am: Gujarat deputy CM Nitinbhai Patel leading in Mahesana constituency with 4,297 votes. Congress' Jivabhai Ambalal Patel is close behind with 3,703 votes. Counting is still in progress.
9:33 am: BJP leads in 56 constituencies, with Congress close behind with leads in 50 constituencies. The Nationalist Congress Party, Bharatiya Tribal Party, and an independent candidate are leading in one constituency each.
9:22 am: BJP leading in 48 constituencies, Congress in 40. The Nationalist Congress Party is leading in one constituency.
9:18 am: Early trends show BJP leading in 24 constituencies, while Congress leads in 21 constituencies.
9:03 am: Congress leading in13 constituencies, while BJP is up in 10 constituencies.
8:59 am: BJP leads in seven constituencies: Bhavnagar East, Bhavnagar Rural, Ghatlodia, Nadiad, Porbandar, Umbergaon, Valsad. Congress is leading in six: Bhavnagar West, Dahod, Gariadhar, Mahudha, Mandvi, Talaja.
8:52 am: BJP leading in six constituencies, Congress in three. 51% of vote share to BJP at the moment, while 42.5% to Congress.
8:47 am: BJP and Congress both leading in two constituencies each.
8:00 am: Counting of votes has begun in Gujarat, where exit polls suggest a win for the Bharatiya Janata Party, which has not lost in the state assembly elections since 1995.