The story is told in a series of flashbacks, starting with the present time, 2009. Harsha (Ram Charan Teja) is a stunt man and ekes out his living by taking part in bike races and stunts. He happens to meet Indu (Kajal Agarwal) and whenever he touches her, he is reminded of something that happened in the past. He falls in love with her and she reciprocates the love.
Indu's father fights a legal battle for Udaygadh kingdom as it was his ancestral property. His brother-in-law enjoys the property illegally. The latter's son Raghuveer (Dev Gill) is spellbound by Indu's beauty and goes to their home and promises to return the entire property with the hopes of marrying Indu. Raghuveer's guru Ghora (Rao Ramesh) tells him that he cannot win Indu as long as Harsha is alive.
On learning that Indu's father accepted her love for Harsha, Raghuveer kills the father, implicates Harsha in the murder and takes Indu away to Udaygadh. Though Harsha tries to explain the truth to Indu, she doesn't believe him. In the process, Harsha drops falls from a helicopter into a lake, only to be saved by Solomon (Sri Hari). Now it is Harsha's turn to prove his innocence and remind Indu of their previous birth.
The story then goes back four centuries to 1609 AD. There is a kingdom called Udaygadh in Rajasthan ruled by King Vikram Singh (Sarath Babu). Mitravinda (Kajal Agarwal) is his only daughter. Ranadev Bhilla (Dev Gill) is her cousin. Kala Bhairava (Ram Charan Teja) is a warrior who trains the army of the kingdom. His family has lived under the curse that no warrior will live for more than 30 years, and will not accept death until he has killed a hundred enemies in the battle. He is also the personal caretaker of the royal family. Ranadev eyes Mitravinda and wants to get the kingdom by marrying her. But the princess loses her heart to Bhairava. In order to win her hand, both Ranadev and Bhairava take part in a contest(race) and Bhairava emerges the winner. The king, who knows about the curse, requests Kala Bhairava to reject the hand of the princess as he does not want his daughter to become a widow.
Ranadev turns traitor and joins hands with Sher Khan (Srihari). He invades the kingdom and kills the king. Later, Ranadev and Sher Khan reach the place where Bhairava and Mitravinda are offering prayers to Lord Siva. Sher Khan challenges Bhairava to save the princess from his men. Bhairava courageously attacks and kills 100 soldiers. Sher Khan accepts defeat and is impressed by Bhairava's courage. Bhairava kills Ranadev but Ranadev stabs Mitravinda. During her last moments, Mitravinda requests Bhairava to proclaim his love for her. They both fall off the cliff and the last words between them remain unsaid.
The unproclaimed love of Kala Bhairava and Mithravinda and the unfulfilled wishes of Ranadev have made them take another birth four centuries later. The final showdown is more of a battle between true love and lust. Finally, Indu believes Harsha and proclaims her love for him. Solomon helps Harsha in killing Raguveer's accomplices. In the final fight, Harsha kills Raghuveer by cutting off his hand where he holds indu and Raghuveer falls down from the cliff and dies.